|
| | CINOSContainer (const char *apName, const char *apElementBases) |
| |
|
| CINOSContainer (const char *apName, const char *apElementBases, void *apParent) |
| |
|
virtual | ~CINOSContainer () |
| | destructor
|
| |
|
void | SetParent (void *apParent) |
| | set container parent
|
| |
| void | SetBase (const char *apElementBases) |
| |
|
void | SetName (const char *apName) |
| | Set different name for registration. Only works prior to registration.
|
| |
|
uint32 | Create (const char *apName) |
| | create entity
|
| |
|
uint32 | Create (const char *apName, const char *apType) |
| | create entity
|
| |
|
uint32 | Create (const char *apName, const char *apType, const char *apParam) |
| | create entity
|
| |
|
uint32 | Destroy (const char *apName) |
| | destroy entity
|
| |
|
uint32 | Check (const char *apType, const char *apParam) |
| | check if it is allowed to create entity of apType
|
| |
|
virtual void | Add (T *apEntity) |
| | add entity to container
|
| |
|
virtual void | Remove (T *apEntity, bool abDelete=true) |
| | remove entity from container
|
| |
|
virtual T * | Find (const char *apName) |
| | return pointer to entity 'apName'
|
| |
|
virtual T * | GetAt (uint32 auIndex) |
| | return pointer to entity auIndex
|
| |
|
virtual uint32 | GetNumber () |
| | return number of entities
|
| |
|
virtual void | ForEach (tForEach cond, void *args) |
| |
|
template<typename F > |
| void | ForEach (F cond) |
| |
|
void | RegisterHook (void *apObject, void *apMethod) |
| | register event hook
|
| |
|
CINCOObject * | GetRegister (bool abLight=false) |
| | get pointer to inco registration
|
| |
template<class T>
class CINOSContainer< T >
This container stores elements of arbitrary type and provides an INCO representation of the elements. It also allows to create and destroy new element instances by INCO calls. A container can be restricted to elements of a given set of classes using "base" identifiers.
To make an element class be managed by this container, register and assign it to a base using the INOS_CONTAINER_CLASS macro. It must provide the following interface:
const char* GetName();
virtual void PostCreate(void* apParent);
virtual bool PreDestroy(bool& bDeleteSelf);
int operator < (CINOSContainerTestElement& aOther);
int operator == (CINOSContainerTestElement& aOther);
int operator < (const char* aName);
int operator == (const char* aName);
CINCOObject * GetRegister(bool abLight=false)
get pointer to inco registration
Definition cinoscontainer.h:634