WSF
WsfGroup Class Reference

A class to support the concept of 'groups' and 'group membership'. More...

#include <WsfGroup.hpp>

Inheritance diagram for WsfGroup:
Collaboration diagram for WsfGroup:

Public Types

using GroupPair = std::pair<size_t, unsigned int>
using MemberList = std::vector<GroupPair>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Public Member Functions

 WsfGroup ()=default
 WsfGroup (WsfStringId aNameId)
WsfGroupoperator= (const WsfGroup &)=delete
 ~WsfGroup () override
WsfGroupClone () const override
 virtual
const char * GetScriptClassName () const override
MemberList::iterator Find (size_t aPlatformIndex, unsigned int aPlatformPartId)
 Find a member of this group.
virtual void Initialize ()
 virtual
bool IsGroupMember (size_t aPlatformIndex, unsigned int aPlatformPartId=0)
 determine if the given platform or platform part is a member of the group
void JoinGroup (size_t aPlatformIndex, unsigned int aPlatformPartId=0)
 Add a new member to this group.
void LeaveGroup (size_t aPlatformIndex, unsigned int aPlatformPartId=0)
 Remove a member of this group.
MemberListGetMembers ()
const MemberListGetMembers () const
bool ProcessInput (UtInput &aInput) override
 virtual
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)
Public Member Functions inherited from WsfAuxDataEnabled
 WsfAuxDataEnabled ()=default
 WsfAuxDataEnabled (const WsfAuxDataEnabled &aSrc)=default
WsfAuxDataEnabledoperator= (const WsfAuxDataEnabled &aRhs)
 WsfAuxDataEnabled (WsfAuxDataEnabled &&)=default
WsfAuxDataEnabledoperator= (WsfAuxDataEnabled &&)=default
virtual ~WsfAuxDataEnabled () noexcept
void SetAuxData (const WsfAttributeContainer &aAuxData)
void DeleteAuxData ()
 Delete the aux data container from the object.
void MergeAuxData (const WsfAuxDataEnabled &aSrc)
 Merge the object's aux data with aux data from an existing object.
void UpdateAuxData (const WsfAuxDataEnabled &aSrc)
 Update the object's aux data with aux data from an existing object.
bool HasAuxData () const
 Returns true if this object has aux data.
bool ProcessInput (UtInput &aInput)
template<typename T>
void Serialize (T &aBuff)
 (De)serialization for XIO
WsfAttributeContainerGetAuxData ()
const WsfAttributeContainerGetAuxData () const noexcept
const WsfAttributeContainerGetAuxDataConst () const noexcept

Static Public Member Functions

static UtScriptClass * CreateScriptClass (const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)

Protected Member Functions

 WsfGroup (const WsfGroup &aSrc)=default
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Additional Inherited Members

Static Public Attributes inherited from WsfAuxDataEnabled
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataAccessed
static UtCallbackListN< void(const WsfAuxDataEnabled *)> AuxDataDestroyed

Detailed Description

A class to support the concept of 'groups' and 'group membership'.

Member Typedef Documentation

◆ GroupPair

using WsfGroup::GroupPair = std::pair<size_t, unsigned int>

◆ MemberList

using WsfGroup::MemberList = std::vector<GroupPair>

Constructor & Destructor Documentation

◆ WsfGroup() [1/3]

WsfGroup::WsfGroup ( )
default

References WsfGroup().

Referenced by Clone(), operator=(), WsfGroup(), and WsfGroup().

◆ WsfGroup() [2/3]

WsfGroup::WsfGroup ( WsfStringId aNameId)

References WsfObject::SetName().

◆ ~WsfGroup()

WsfGroup::~WsfGroup ( )
override

◆ WsfGroup() [3/3]

WsfGroup::WsfGroup ( const WsfGroup & aSrc)
protecteddefault

References WsfGroup().

Member Function Documentation

◆ Clone()

WsfGroup * WsfGroup::Clone ( ) const
overridevirtual

virtual

Implements WsfObject.

References WsfGroup().

◆ CreateScriptClass()

UtScriptClass * WsfGroup::CreateScriptClass ( const std::string & aClassName,
UtScriptTypes * aScriptTypesPtr )
static

◆ Find()

WsfGroup::MemberList::iterator WsfGroup::Find ( size_t aPlatformIndex,
unsigned int aPlatformPartId )

Find a member of this group.

Referenced by CreateScriptClass(), IsGroupMember(), and LeaveGroup().

◆ GetMembers() [1/2]

MemberList & WsfGroup::GetMembers ( )
inline

◆ GetMembers() [2/2]

const MemberList & WsfGroup::GetMembers ( ) const
inline

◆ GetScriptClassName()

const char * WsfGroup::GetScriptClassName ( ) const
override

◆ Initialize()

void WsfGroup::Initialize ( )
virtual

virtual

Referenced by CreateScriptClass().

◆ IsGroupMember()

bool WsfGroup::IsGroupMember ( size_t aPlatformIndex,
unsigned int aPlatformPartId = 0 )

determine if the given platform or platform part is a member of the group

References Find().

Referenced by CreateScriptClass(), and JoinGroup().

◆ JoinGroup()

void WsfGroup::JoinGroup ( size_t aPlatformIndex,
unsigned int aPlatformPartId = 0 )

Add a new member to this group.

References IsGroupMember().

Referenced by CreateScriptClass(), and WsfGroupList::JoinGroup().

◆ LeaveGroup()

void WsfGroup::LeaveGroup ( size_t aPlatformIndex,
unsigned int aPlatformPartId = 0 )

Remove a member of this group.

References Find().

Referenced by CreateScriptClass(), and WsfGroupList::LeaveGroup().

◆ operator=()

WsfGroup & WsfGroup::operator= ( const WsfGroup & )
delete

References WsfGroup().

◆ ProcessInput()

bool WsfGroup::ProcessInput ( UtInput & aInput)
overridevirtual

virtual

Reimplemented from WsfObject.

References WsfAuxDataEnabled::ProcessInput().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved