24 typedef void* (*InterfaceExtractorPtr)(
IComponent& component);
58 const QByteArray& subId)
const override;
74 typedef QMap<QByteArray, InterfaceExtractorPtr> InterfaceExtractors;
75 InterfaceExtractors m_interfaceExtractors;
77 typedef QMap<QByteArray, const IElementStaticInfo*> SubelementInfos;
78 SubelementInfos m_subelementInfos;
80 typedef QMap<QByteArray, const IAttributeStaticInfo*> AttributeInfos;
81 AttributeInfos m_attributeInfos;
QSet< QByteArray > AttributeIds
Standard implementation of static info for base component classes.
virtual const IAttributeStaticInfo * GetAttributeInfo(const QByteArray &attributeId) const override
Get set of attributes.
virtual iattr::IAttributesProvider::AttributeIds GetAttributeMetaIds() const override
Get all IDs of known attribute meta informations.
virtual void * GetComponentInterface(const istd::CClassInfo &interfaceType, IComponent &component, const QByteArray &subId) const override
Extract instance implemented specified interface from some component.
void *(* InterfaceExtractorPtr)(IComponent &component)
virtual Ids GetMetaIds(int metaGroupId) const override
Get list of meta IDs associated with some meta key.
virtual void RegisterSubelementInfo(const QByteArray &subcomponentId, const IElementStaticInfo *staticInfoPtr)
Register static subcomponent info.
static istd::CClassInfo s_compInterfaceType
virtual const iattr::IAttributeMetaInfo * GetAttributeMetaInfo(const QByteArray &attributeId) const override
Get property with the given index.
CBaseComponentStaticInfo(const IRealComponentStaticInfo *baseComponentPtr=NULL)
virtual const IElementStaticInfo * GetSubelementInfo(const QByteArray &subcomponentId) const override
Return number of interfaces for specific slot.
virtual void RegisterAttributeInfo(const QByteArray &attributeId, const IAttributeStaticInfo *attributeInfoPtr)
Register static attribute info.
virtual IComponentUniquePtr CreateComponent() const override
Create component instance.
CComponentStaticInfoBase BaseClass
virtual void RegisterInterfaceExtractor(const QByteArray &interfaceName, InterfaceExtractorPtr extractorPtr)
Register interface ID for this static component info.
Describe component attribute static information.
Main component interface.
This interface provide static information about element meta info.
Interface adding to component static info functionality existing only for real components.
Represents platform independent type info and provide set of static class manipulation functions.
Package with interfaces and class used for components concept.
std::unique_ptr< IComponent > IComponentUniquePtr