openDAQ
Open data acquisition platform
GenericComponentTypePtr< InterfaceType > Class Template Reference

Provides information about the component types. More...

Detailed Description

template<typename InterfaceType>
class GenericComponentTypePtr< InterfaceType >

Provides information about the component types.

Is a Struct core type, and has access to Struct methods internally. Note that the Default config is not part of the Struct fields.

Public Member Functions

daq::StringPtr getId () const
 Gets the unique component type id. More...
 
daq::StringPtr getName () const
 Gets the user-friendly name of a component type. More...
 
daq::StringPtr getDescription () const
 Gets the description of a component type. More...
 
daq::PropertyObjectPtr createDefaultConfig () const
 The function clones and returns default configuration. On each call, we need to create new object, because we want that each instance of the component has its own configuration object. More...
 

Member Function Documentation

◆ createDefaultConfig()

daq::PropertyObjectPtr createDefaultConfig ( ) const
inline

The function clones and returns default configuration. On each call, we need to create new object, because we want that each instance of the component has its own configuration object.

Returns
Newly created configuration object.

Configuration objects are property object with user-defined key-value pairs. For example: Port=1000, OutputRate=5000, ...

◆ getDescription()

daq::StringPtr getDescription ( ) const
inline

Gets the description of a component type.

Returns
The description of a component type.

A short description of a component type and the associated configuration parameters it offers.

◆ getId()

daq::StringPtr getId ( ) const
inline

Gets the unique component type id.

Returns
The unique id of a component type.

Unique id should not be presented on the UI.

◆ getName()

daq::StringPtr getName ( ) const
inline

Gets the user-friendly name of a component type.

Returns
The user-friendly name of a component type.

Name is usually presented on the UI. Does not have to be unique.