ICF 3.0.5.47
Technical documentation of ICF Libraries
icomp::TSubelementStaticInfo< ComponentType > Class Template Reference

#include <TSubelementStaticInfo.h>

Inheritance diagram for icomp::TSubelementStaticInfo< ComponentType >:
Collaboration diagram for icomp::TSubelementStaticInfo< ComponentType >:

Public Types

typedef void *(*) InterfaceExtractorPtr(ComponentType &component)
 
- Public Types inherited from icomp::IElementStaticInfo
enum class  MetaGroupId : int { Interfaces , Subelements , EmbeddedComponents , Last = Subelements }
 
typedef QSet< QByteArray > Ids
 

Public Member Functions

 TSubelementStaticInfo (const QByteArray &name, CBaseComponentStaticInfo &owner)
 Constructor attaching this subelement info to the component.
 
virtual void RegisterInterfaceExtractor (const QByteArray &interfaceName, InterfaceExtractorPtr extractorPtr)
 Register interface ID for this static component info.
 
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.
 
void * GetComponentInterface (const istd::CClassInfo &interfaceType, IComponent &component, const QByteArray &subId) const override
 Extract instance implemented specified interface from some component.
 
- Public Member Functions inherited from icomp::IElementStaticInfo
- Public Member Functions inherited from icomp::IComponentInterfaceExtractor

Detailed Description

template<class ComponentType>
class icomp::TSubelementStaticInfo< ComponentType >

Definition at line 23 of file TSubelementStaticInfo.h.

Member Typedef Documentation

◆ InterfaceExtractorPtr

template<class ComponentType >
void *(*) icomp::TSubelementStaticInfo< ComponentType >::InterfaceExtractorPtr(ComponentType &component)

Definition at line 28 of file TSubelementStaticInfo.h.

Constructor & Destructor Documentation

◆ TSubelementStaticInfo()

template<class ComponentType >
icomp::TSubelementStaticInfo< ComponentType >::TSubelementStaticInfo ( const QByteArray & name,
CBaseComponentStaticInfo & owner )

Constructor attaching this subelement info to the component.

Definition at line 77 of file TSubelementStaticInfo.h.

References icomp::CBaseComponentStaticInfo::RegisterSubelementInfo().

Member Function Documentation

◆ GetComponentInterface()

template<class ComponentType >
void * icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface ( const istd::CClassInfo & interfaceType,
IComponent & component,
const QByteArray & subId ) const
overridevirtual

◆ GetMetaIds()

template<class ComponentType >
IElementStaticInfo::Ids icomp::TSubelementStaticInfo< ComponentType >::GetMetaIds ( MetaGroupId metaGroupId) const
overridevirtual

Get list of meta IDs associated with some meta key.

See also
MetaGroupId

Implements icomp::IElementStaticInfo.

Definition at line 93 of file TSubelementStaticInfo.h.

◆ GetSubelementInfo()

template<class ComponentType >
const IElementStaticInfo * icomp::TSubelementStaticInfo< ComponentType >::GetSubelementInfo ( const QByteArray & subcomponentId) const
overridevirtual

Return number of interfaces for specific slot.

Parameters
subcomponentIdID of subcomponent.
See also
GetMetaIds() and MGI_SUBELEMENTS.

Implements icomp::IElementStaticInfo.

Definition at line 110 of file TSubelementStaticInfo.h.

◆ RegisterInterfaceExtractor()

template<class ComponentType >
void icomp::TSubelementStaticInfo< ComponentType >::RegisterInterfaceExtractor ( const QByteArray & interfaceName,
InterfaceExtractorPtr extractorPtr )
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.

Definition at line 84 of file TSubelementStaticInfo.h.

Referenced by icomp::SubElementInterfaceRegistrator< InterfaceType, ComponentType >::SubElementInterfaceRegistrator().


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

© Witold Gantzke and Kirill Lepskiy