Struct IObjectFactory#
Defined in File core.h
Inheritance Relationships#
Derived Type#
public sdv::CObjectFactory
(Class CObjectFactory)
Struct Documentation#
-
struct IObjectFactory#
Interface implemented by each module and used for managing the objects.
Subclassed by sdv::CObjectFactory
Public Functions
-
virtual IInterfaceAccess *CreateObject(const sdv::u8string &ssClassName) = 0#
Create or get the object using the name from the object class info.
- Attention
The objects lifetime is ended by a call to the DestroyObject function or the unloading of the module.
- Parameters:
ssClassName – [in] The name of the class object to instantiate.
- Returns:
Pointer to IInterfaceAccess interface of the object or NULL when the requested object doesn’t exist.
-
virtual void DestroyObject(IInterfaceAccess *sdvObject) = 0#
Destroy an instantiated object using the pointer to the object instance.
- Parameters:
sdvObject – [in] The object to destroy
-
virtual void DestroyAllObjects() = 0#
Destroys all currently instantiated objects in reverse order of creation.
- IInterfaceAccess CreateObject (in u8string ssClassName)
Create or get the object using the name from the object class info.
- Attention
The objects lifetime is ended by a call to the DestroyObject function or the unloading of the module.
- Parameters:
ssClassName – [in] The name of the class object to instantiate.
- Returns:
Pointer to IInterfaceAccess interface of the object or NULL when the requested object doesn’t exist.
- void DestroyObject (in IInterfaceAccess sdvObject)
Destroy an instantiated object using the pointer to the object instance.
- Parameters:
sdvObject – [in] The object to destroy
-
void DestroyAllObjects()
Destroys all currently instantiated objects in reverse order of creation.
Public Static Attributes
-
static ::sdv::interface_id _id = 0xD44C24E971FFB2F0#
Interface ID.
-
virtual IInterfaceAccess *CreateObject(const sdv::u8string &ssClassName) = 0#