Template Class CSdvObjectClass#
Defined in File component_impl.h
Inheritance Relationships#
Base Type#
public sdv::ISdvObjectClassInfo(Struct ISdvObjectClassInfo)
Class Documentation#
-
template<class TSdvObject>
class CSdvObjectClass : public sdv::ISdvObjectClassInfo# SDV object creator class. Used to define the SDV class object and register its definition into the system as welll a as providing the creation interface for creating an object instance.
- Template Parameters:
TSdvObject – Class type of the SDV object derived from CSdvObject.
Public Functions
-
inline CSdvObjectClass()#
Constructor assigning the SDV prototype to the module.
-
CSdvObjectClass(CSdvObjectClass&) = delete#
-
CSdvObjectClass(CSdvObjectClass&&) = delete#
-
CSdvObjectClass &operator=(CSdvObjectClass&) = delete#
-
CSdvObjectClass &operator=(CSdvObjectClass&&) = delete#
-
inline virtual ~CSdvObjectClass()#
Destructor revoking the object prototype.
-
inline virtual SClassInfo GetClassInfo() const override#
Get the class information struct. Overload of ISdvObjectClassInfo::GetClassInfo.
- Returns:
Returns the class information struct.
-
inline virtual u8string GetClassName() const override#
Get the object class name. Overload of ISdvObjectClassInfo::GetClassName.
Remark
Default implementation gets the information from the object class if not defined in the definition.
- Returns:
Returns the class name of the object.
-
inline virtual sequence<u8string> GetClassAliases() const override#
Get the class name aliases. Overload of ISdvObjectClassInfo::GetClassAliases.
Remark
Default implementation gets the information from the object class if not defined in the definition.
- Returns:
Returns a sequence containing zero or more class name aliases.
-
inline virtual u8string GetDefaultConfig(const u8string &rssTablePrefix) const override#
Get the default config TOML string. Overload of ISdvObjectClassInfo::GetDefaultConfig.
- 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.
-
inline virtual u8string GetDefaultObjectName() const override#
Get the default object name. Overload of ISdvObjectClassInfo::GetDefaultObjectName.
- Returns:
Returns the default name of the object if exists.
-
inline virtual EObjectType GetObjectType() const override#
Get the object type. Overload of ISdvObjectClassInfo::GetObjectType.
Remark
Default implementation gets the information from the object class if not defined in the definition.
- Returns:
Returns the type of the object
-
inline virtual uint32_t GetObjectFlags() const override#
Get the object creation flags. Overload of ISdvObjectClassInfo::GetObjectFlags.
- Returns:
Returns the current flags of the object
-
inline virtual sequence<u8string> GetObjectDependencies() const override#
Get object dependencies. Overload of ISdvObjectClassInfo::GetObjectDependencies.
- Returns:
Returns a vector containing the class names of the objects this component is dependent on.
-
inline virtual std::unique_ptr<CSdvObject> CreateObject() override#
Create the SDV object. Overload of ISdvObjectClassInfo::CreateObject.
- Returns:
Returns an instance of the SDV object or nullptr when the object could not be created (exception thrown during construction).