ICF 3.0.5.47
Technical documentation of ICF Libraries
icomp::TComponentRegistrator< Component > Class Template Reference

Simple helper class providing registration of template-specified component in package. More...

#include <TComponentRegistrator.h>

Inheritance diagram for icomp::TComponentRegistrator< Component >:
Collaboration diagram for icomp::TComponentRegistrator< Component >:

Public Types

typedef TComponentStaticInfo< Component > BaseClass
 
- Public Types inherited from icomp::TComponentStaticInfo< Component >
typedef CBaseComponentStaticInfo BaseClass
 
- Public Types inherited from icomp::CBaseComponentStaticInfo
typedef CComponentStaticInfoBase BaseClass
 
typedef void *(*) InterfaceExtractorPtr(IComponent &component)
 
- Public Types inherited from icomp::IComponentStaticInfo
enum class  ComponentType { None , Real , Composite }
 Specify type of the component realization. More...
 
- Public Types inherited from icomp::IElementStaticInfo
enum class  MetaGroupId : int { Interfaces , Subelements , EmbeddedComponents , Last = Subelements }
 
typedef QSet< QByteArray > Ids
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 

Public Member Functions

 TComponentRegistrator (const QByteArray &componentId, CPackageStaticInfo &packageStaticInfo, const QString &description, const QString &keywords)
 
virtual const QString & GetDescription () const
 Get human readable description of this component.
 
virtual const QString & GetKeywords () const
 Get keywords for this component.
 
- Public Member Functions inherited from icomp::TComponentStaticInfo< Component >
 TComponentStaticInfo (const IRealComponentStaticInfo *baseComponentPtr=nullptr)
 
std::unique_ptr< IComponentCreateComponent () const override
 Create component instance.
 
ComponentType GetComponentType () const override
 Get information about component type.
 
- Public Member Functions inherited from icomp::CBaseComponentStaticInfo
 CBaseComponentStaticInfo (const IRealComponentStaticInfo *baseComponentPtr=nullptr)
 
virtual void RegisterInterfaceExtractor (const QByteArray &interfaceName, InterfaceExtractorPtr extractorPtr)
 Register interface ID for this static component info.
 
virtual void RegisterAttributeInfo (const QByteArray &attributeId, const IAttributeStaticInfo *attributeInfoPtr)
 Register static attribute info.
 
virtual void RegisterSubelementInfo (const QByteArray &subcomponentId, const IElementStaticInfo *staticInfoPtr)
 Register static subcomponent info.
 
void * GetComponentInterface (const istd::CClassInfo &interfaceType, IComponent &component, const QByteArray &subId) const override
 Extract instance implemented specified interface from some component.
 
const IAttributeStaticInfoGetAttributeInfo (const QByteArray &attributeId) const override
 Get set of attributes.
 
Ids GetMetaIds (MetaGroupId metaGroupId) const override
 Get list of meta IDs associated with some meta key.
 
const IElementStaticInfoGetSubelementInfo (const QByteArray &subcomponentId) const override
 Return number of interfaces for specific slot.
 
iattr::IAttributesProvider::AttributeIds GetAttributeMetaIds () const override
 Get all IDs of known attribute meta informations.
 
const iattr::IAttributeMetaInfoGetAttributeMetaInfo (const QByteArray &attributeId) const override
 Get property with the given index.
 
- Public Member Functions inherited from icomp::CComponentStaticInfoBase
const IAttributeStaticInfoGetAttributeInfo (const QByteArray &attributeId) const override
 Get set of attributes.
 
const IComponentStaticInfoGetEmbeddedComponentInfo (const QByteArray &embeddedId) const override
 Return number of interfaces for specific slot.
 
Ids GetMetaIds (MetaGroupId metaGroupId) const override
 Get list of meta IDs associated with some meta key.
 
const IElementStaticInfoGetSubelementInfo (const QByteArray &subcomponentId) const override
 Return number of interfaces for specific slot.
 
iattr::IAttributesProvider::AttributeIds GetAttributeMetaIds () const override
 Get all IDs of known attribute meta informations.
 
const iattr::IAttributeMetaInfoGetAttributeMetaInfo (const QByteArray &attributeId) const override
 Get property with the given index.
 
- Public Member Functions inherited from icomp::IComponentStaticInfo
- Public Member Functions inherited from icomp::IElementStaticInfo
- Public Member Functions inherited from iattr::IAttributesMetaInfoProvider
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from icomp::IRealComponentStaticInfo
- Public Member Functions inherited from icomp::IComponentInterfaceExtractor

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Static Public Attributes inherited from icomp::CBaseComponentStaticInfo
static istd::CClassInfo s_compInterfaceType
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Detailed Description

template<class Component>
class icomp::TComponentRegistrator< Component >

Simple helper class providing registration of template-specified component in package.

Definition at line 25 of file TComponentRegistrator.h.

Member Typedef Documentation

◆ BaseClass

template<class Component >
TComponentStaticInfo<Component> icomp::TComponentRegistrator< Component >::BaseClass

Definition at line 28 of file TComponentRegistrator.h.

Constructor & Destructor Documentation

◆ TComponentRegistrator()

template<class Component >
icomp::TComponentRegistrator< Component >::TComponentRegistrator ( const QByteArray & componentId,
CPackageStaticInfo & packageStaticInfo,
const QString & description,
const QString & keywords )

Member Function Documentation

◆ GetDescription()

template<class Component >
const QString & icomp::TComponentRegistrator< Component >::GetDescription ( ) const
virtual

Get human readable description of this component.

Reimplemented from icomp::CComponentStaticInfoBase.

Definition at line 70 of file TComponentRegistrator.h.

◆ GetKeywords()

template<class Component >
const QString & icomp::TComponentRegistrator< Component >::GetKeywords ( ) const
virtual

Get keywords for this component.

Reimplemented from icomp::CComponentStaticInfoBase.

Definition at line 77 of file TComponentRegistrator.h.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy