Struct IObjectFactory#

Inheritance Relationships#

Derived Type#

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.