Struct ISdvObjectClassInfo#

Inheritance Relationships#

Derived Type#

Struct Documentation#

struct ISdvObjectClassInfo#

SDV object create interface.

Remark

This is an internal interface not exposed through IInterfaceAccess.

Subclassed by sdv::CSdvObjectClass< TSdvObject >

Public Functions

virtual SClassInfo GetClassInfo() const = 0#

Get the class information struct.

Returns:

Returns the class information struct.

virtual u8string GetClassName() const = 0#

Get the object class name.

Remark

Default implementation gets the information from the object class if not defined in the definition.

Returns:

Returns the class name of the object.

virtual sequence<u8string> GetClassAliases() const = 0#

Get the class name aliases.

Returns:

Returns a sequence containing zero or more class name aliases.

virtual u8string GetDefaultObjectName() const = 0#

Get the default object name.

Returns:

Returns the default name of the object if exists.

virtual u8string GetDefaultConfig(const u8string &rssTablePrefix = {}) const = 0#

Get the default config TOML string.

Parameters:

rssTablePrefix[in] Reference to the string containing a table prefix to insert as part of the table key.

Returns:

Returns the TOML string containing the default configuration of the object if exists.

virtual EObjectType GetObjectType() const = 0#

Get the object type.

Returns:

Returns the type of the object

virtual uint32_t GetObjectFlags() const = 0#

Get the object creation flags.

Returns:

Returns the current flags of the object

virtual sequence<u8string> GetObjectDependencies() const = 0#

Get object dependencies.

Returns:

Returns a vector containing the class names of the objects this component is dependent on.

virtual std::unique_ptr<CSdvObject> CreateObject() = 0#

Create the SDV object.

Returns:

Returns an instance of the SDV object or nullptr when the object could not be created.