WSF
WsfGroupTypes Class Reference

#include <WsfGroupTypes.hpp>

Inheritance diagram for WsfGroupTypes:
Collaboration diagram for WsfGroupTypes:

Static methods to return a reference to the type list associated with a scenario.

static WSF_EXPORT WsfGroupTypesGet (WsfScenario &aScenario)
 Return a modifiable reference to the type list associated with the specified scenario.
static WSF_EXPORT const WsfGroupTypesGet (const WsfScenario &aScenario)
 Return a const reference to the type list associated with the specified scenario.
 WsfGroupTypes (WsfScenario &aScenario)
bool LoadType (UtInput &aInput, WsfPlatformPart *aPlatformPartPtr)
bool LoadType (UtInput &aInput, WsfPlatform *aPlatformPtr)
LoadResult LoadType (UtInput &aInput) override
bool JoinGroupType (const std::string &aGroupType, const std::string &aGroupName, WsfPlatform *aPlatformPtr) const
bool JoinGroupType (const std::string &aGroupType, const std::string &aGroupName, WsfPlatformPart *aPlatformPartPtr) const

Additional Inherited Members

Public Types inherited from WsfObjectTypeList< WsfGroup >
typedef WsfGroup ObjectType
typedef std::vector< WsfGroup * > ObjectPtrList
Public Types inherited from WsfObjectTypeListBase
enum  Flags {
  cREDEFINITION_ALLOWED = 1 , cSINGULAR_BASE_TYPE = 2 , cOBJECT_FACTORY_BASE = 4 , cNO_DELAY_LOAD = 8 ,
  cSIGNATURE_FLAGS = cREDEFINITION_ALLOWED | cNO_DELAY_LOAD
}
Public Types inherited from WsfObjectTypeListBaseI
typedef std::vector< WsfStringIdTypeIdList
Public Member Functions inherited from WsfObjectTypeList< WsfGroup >
 WsfObjectTypeList (WsfScenario &aScenario, unsigned int aFlags, const std::string &aBlockName)
bool Add (WsfStringId aId, std::unique_ptr< WsfGroup > aDefinitionPtr)
bool AddCoreType (WsfStringId aId, std::unique_ptr< WsfGroup > aDefinitionPtr)
WsfGroupClone (WsfStringId aId) const override
WsfGroupFind (WsfStringId aId) const override
ObjectPtrList GetCoreTypes () const
 Returns a list of core types, i.e. types added via AddCoreType.
void GetCurrentTypes (ObjectPtrList &aListOfPtrs) const
void GetCurrentUserTypes (ObjectPtrList &aListOfPtrs) const
 Returns the list of types defined by the user (no core / builtin types).
bool IsType (WsfStringId aTypeName) const
void SetSingularBaseType ()
void SetObjectFactory (const FACTORY_LIST *aFactoryListPtr)
void SetObjectFactoryDefault ()
bool ProcessInput (UtInput &aInput) override
virtual bool InitializeType (ObjectType *aTypePtr)
bool LoadNamedComponent (UtInput &aInput, WsfPlatform &aPlatform, bool aIsAdding, int aRole)
bool LoadUnnamedComponent (UtInput &aInput, WsfPlatform &aPlatform, bool aIsAdding, int aRole)
bool LoadUnnamedComponentWithoutEdit (UtInput &aInput, WsfPlatform &aPlatform, bool aIsAdding, int aRole)
bool DeleteNamedComponent (UtInput &aInput, WsfPlatform &aPlatform, int aRole)
bool DeleteUnnamedComponent (UtInput &aInput, WsfPlatform &aPlatform, int aRole)
Public Member Functions inherited from WsfObjectTypeListBase
 WsfObjectTypeListBase (const WsfObjectTypeListBase &)=delete
WsfObjectTypeListBaseoperator= (const WsfObjectTypeListBase &)=delete
 WsfObjectTypeListBase (unsigned int aFlags, const std::string &aBlockName=std::string(), WsfScenario *aScenarioPtr=nullptr)
 ~WsfObjectTypeListBase () override
void Clear () override
 Clear (Erase) all type entries.
void GetTypeIds (TypeIdList &aListOfIds) const override
 Return a vector of the type identifiers currently being controlled by this list.
bool ProcessInput (UtInput &aInput) override
int Size () const
 Return the current number of types being maintained by the list.
const std::string & GetBlockName () const override
WsfScenarioGetScenario () const
Public Member Functions inherited from WsfObjectTypeListBaseI
virtual ~WsfObjectTypeListBaseI ()=default
virtual void CompleteLoad ()
Protected Types inherited from WsfObjectTypeListBase
typedef std::map< WsfStringId, std::unique_ptr< WsfObject > > TypeMap
bool InitializeTypeP (WsfObject *aObjectPtr) override
Protected Member Functions inherited from WsfObjectTypeListBase
WsfDeferredInputGetDeferredInput () const
bool CanDelayLoad () const
bool AddP (WsfStringId aId, std::unique_ptr< WsfObject > aDefinitionPtr)
WsfObjectCloneP (WsfStringId aId) const
virtual WsfObjectFindP (WsfStringId aId) const
bool LoadTypeP (UtInput &aInput, WsfObject *&aLoadedObjectPtr)
virtual bool DeferredLoadTypeP (UtInput &aInput, WsfObject *&aLoadedObjectPtr)
bool DeleteComponentP (UtInput &aInput, WsfPlatform &aPlatform, int aRole, bool aIsNamed)
bool LoadComponentP (UtInput &aInput, WsfPlatform &aPlatform, bool aIsAdding, int aRole, bool aIsNamed, bool aIsEditable)
Static Protected Member Functions inherited from WsfObjectTypeList< WsfGroup >
static WsfObjectCreateDefaultFunction ()
static WsfObjectCreateFunction ()
static WsfObjectFactoryCreateFunction (void *aListPtr, const std::string &aTypeName)
Protected Attributes inherited from WsfObjectTypeListBase
TypeMap mTypeMap
std::vector< std::unique_ptr< WsfObject > > mRedefinedTypes
 A list of type objects that have been redefined.
std::set< WsfStringIdmCoreTypes
unsigned int mFlags
const std::string mBlockName
WsfObject *(* mCreateSingularTypeFunction )()
WsfObject *(* mFactoryCreateFunction )(void *aListPtr, const std::string &aTypeName)
WsfObject *(* mFactoryCreateDefault )()
void * mFactoryPtr
WsfScenariomScenarioPtr

Constructor & Destructor Documentation

◆ WsfGroupTypes()

WsfGroupTypes::WsfGroupTypes ( WsfScenario & aScenario)

Member Function Documentation

◆ Get() [1/2]

const WsfGroupTypes & WsfGroupTypes::Get ( const WsfScenario & aScenario)
static

Return a const reference to the type list associated with the specified scenario.

References WsfScenario::GetGroupTypes(), and WsfGroupTypes().

◆ Get() [2/2]

WsfGroupTypes & WsfGroupTypes::Get ( WsfScenario & aScenario)
static

Return a modifiable reference to the type list associated with the specified scenario.

References WsfScenario::GetGroupTypes(), and WsfGroupTypes().

◆ JoinGroupType() [1/2]

bool WsfGroupTypes::JoinGroupType ( const std::string & aGroupType,
const std::string & aGroupName,
WsfPlatform * aPlatformPtr ) const

if exists, clone the given group type and join it.

Parameters
aGroupType- the type of the group to join
aGroupName- the name of the group to join
aPlatformPtr- the platform that will join the group
Returns
true if successfully joined group

References WsfObjectTypeList< WsfGroup >::Clone(), WsfObjectTypeList< WsfGroup >::Find(), and WsfPlatform::JoinGroup().

◆ JoinGroupType() [2/2]

bool WsfGroupTypes::JoinGroupType ( const std::string & aGroupType,
const std::string & aGroupName,
WsfPlatformPart * aPlatformPartPtr ) const

if exists, clone the given group type and join it.

Parameters
aGroupType- the type of the group to join
aGroupName- the name of the group to join
aPlatformPartPtr- the platform part that will join the group
Returns
true if successfully joined group

References WsfObjectTypeList< WsfGroup >::Clone(), WsfObjectTypeList< WsfGroup >::Find(), and WsfPlatformPart::JoinGroup().

◆ LoadType() [1/3]

WsfGroupTypes::LoadResult WsfGroupTypes::LoadType ( UtInput & aInput)
overridevirtual

Load a new 'type object' from an input stream. Process the current command if it is one that defines a new 'type object' of this class.

Parameters
aInputThe input stream.
Exceptions
UtInput::ExceptionBase(or derived class) if an error was encountered.

Reimplemented from WsfObjectTypeList< WsfGroup >.

References WsfObjectTypeList< T >::LoadType().

◆ LoadType() [2/3]

bool WsfGroupTypes::LoadType ( UtInput & aInput,
WsfPlatform * aPlatformPtr )

Create a group type that will be cloned later when instantiated

Parameters
aInput- stream from input file
aPlatformPtr- the platform used to get the token replacements from
Returns
true if successfully created group type

References WsfObjectTypeList< WsfGroup >::Add(), WsfObjectTypeList< WsfGroup >::Clone(), WsfObject::GetName(), WsfObject::GetNameId(), WsfObject::GetType(), and groupPtr.

◆ LoadType() [3/3]

bool WsfGroupTypes::LoadType ( UtInput & aInput,
WsfPlatformPart * aPlatformPartPtr )

Create a group type that will be cloned later when instantiated

Parameters
aInput- stream from input file
aPlatformPartPtr- the platform part used to get the token replacements from
Returns
true if successfully created group type

References WsfObjectTypeList< WsfGroup >::Add(), WsfObjectTypeList< WsfGroup >::Clone(), and groupPtr.

Referenced by WsfGroupList::ProcessInput(), and WsfGroupList::ProcessInput().


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