![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Standard implementation of static info for base component classes. More...
#include <CBaseComponentStaticInfo.h>
Public Types | |
typedef CComponentStaticInfoBase | BaseClass |
typedef void *(*) | InterfaceExtractorPtr(IComponent &component) |
![]() | |
enum class | ComponentType { None , Real , Composite } |
Specify type of the component realization. More... | |
![]() | |
enum class | MetaGroupId : int { Interfaces , Subelements , EmbeddedComponents , Last = Subelements } |
typedef QSet< QByteArray > | Ids |
![]() | |
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 | |
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. | |
std::unique_ptr< IComponent > | CreateComponent () const override |
Create component instance. | |
void * | GetComponentInterface (const istd::CClassInfo &interfaceType, IComponent &component, const QByteArray &subId) const override |
Extract instance implemented specified interface from some component. | |
const IAttributeStaticInfo * | GetAttributeInfo (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 IElementStaticInfo * | GetSubelementInfo (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::IAttributeMetaInfo * | GetAttributeMetaInfo (const QByteArray &attributeId) const override |
Get property with the given index. | |
![]() | |
ComponentType | GetComponentType () const override |
Get information about component type. | |
const IAttributeStaticInfo * | GetAttributeInfo (const QByteArray &attributeId) const override |
Get set of attributes. | |
const IComponentStaticInfo * | GetEmbeddedComponentInfo (const QByteArray &embeddedId) const override |
Return number of interfaces for specific slot. | |
const QString & | GetDescription () const override |
Get human readable description of this component. | |
const QString & | GetKeywords () const override |
Get keywords for this component. | |
Ids | GetMetaIds (MetaGroupId metaGroupId) const override |
Get list of meta IDs associated with some meta key. | |
const IElementStaticInfo * | GetSubelementInfo (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::IAttributeMetaInfo * | GetAttributeMetaInfo (const QByteArray &attributeId) const override |
Get property with the given index. | |
![]() | |
![]() | |
![]() | |
![]() | |
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< IChangeable > | CloneMe (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. | |
![]() | |
![]() |
Static Public Attributes | |
static istd::CClassInfo | s_compInterfaceType |
Additional Inherited Members | |
![]() | |
static const ChangeSet & | GetNoChanges () |
Get empty set of changes. | |
static const ChangeSet & | GetAnyChange () |
Get anonymous change set. | |
static const ChangeSet & | GetAllChanges () |
Get anonymous change set. | |
static const ChangeSet & | GetDelegatedChanges () |
Get delegated change set. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Standard implementation of static info for base component classes.
The main difference to 'normal' component static info is, that instances of such components cannot be created.
Definition at line 21 of file CBaseComponentStaticInfo.h.
Definition at line 26 of file CBaseComponentStaticInfo.h.
void *(*) icomp::CBaseComponentStaticInfo::InterfaceExtractorPtr(IComponent &component) |
Definition at line 27 of file CBaseComponentStaticInfo.h.
|
explicit |
|
overridevirtual |
Create component instance.
Implements icomp::IRealComponentStaticInfo.
Reimplemented in icomp::CCompositeComponentStaticInfo, and icomp::TComponentStaticInfo< Component >.
|
overridevirtual |
Get set of attributes.
Implements icomp::IComponentStaticInfo.
|
overridevirtual |
Get all IDs of known attribute meta informations.
Implements iattr::IAttributesMetaInfoProvider.
|
overridevirtual |
Get property with the given index.
Implements iattr::IAttributesMetaInfoProvider.
|
overridevirtual |
Extract instance implemented specified interface from some component.
Implements icomp::IComponentInterfaceExtractor.
|
overridevirtual |
Get list of meta IDs associated with some meta key.
Implements icomp::IElementStaticInfo.
|
overridevirtual |
Return number of interfaces for specific slot.
subcomponentId | ID of subcomponent. |
Implements icomp::IElementStaticInfo.
|
virtual |
Register static attribute info.
attributeId | ID of attribute. |
attributeInfoPtr | static attribute info object used to describe attribute type and as factory. It cannot be nullptr. |
Referenced by icomp::TAttributeStaticInfo< Attribute >::TAttributeStaticInfo().
|
virtual |
Register interface ID for this static component info.
This interface ID is used for static check if this component can be used to resolve reference dependecy of second one.
Referenced by icomp::TInterfaceRegistrator< Interface >::TInterfaceRegistrator().
|
virtual |
Register static subcomponent info.
subcomponentId | ID of this subcomponent. |
componentInfoPtr | static subcomponent info object used to describe subcomponent type and as factory. It cannot be nullptr. |
Referenced by icomp::TSubelementStaticInfo< ComponentType >::TSubelementStaticInfo().
|
static |
Definition at line 29 of file CBaseComponentStaticInfo.h.
Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface().
© Witold Gantzke and Kirill Lepskiy