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 sdv::sequence<sdv::u8string> GetClassNames() const = 0#
The object class names implemented in the object.
- Returns:
Sequence with object class names string.
-
virtual SClassInfo GetClassInfo(const sdv::u8string &ssClassName) const = 0#
Get the class information.
- Parameters:
ssClassName – [in] The name of the class object to get the class information for.
- Returns:
Returns the class information struct.
-
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.
-
sequence<u8string> GetClassNames() const
The object class names implemented in the object.
- Returns:
Sequence with object class names string.
- SClassInfo GetClassInfo (in u8string ssClassName) const
Get the class information.
- Parameters:
ssClassName – [in] The name of the class object to get the class information for.
- Returns:
Returns the class information struct.
- 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 constexpr ::sdv::interface_id _id = 0x7C840B3236DD6933#
Interface ID.
-
virtual sdv::sequence<sdv::u8string> GetClassNames() const = 0#