47 virtual std::unique_ptr<IComponent>
CreateSubcomponent(
const QByteArray& componentId)
const;
68 SetComponentContext(
this,
nullptr,
false);
88 BaseClass2::ComponentsMap::const_iterator iter = BaseClass2::m_componentsMap.constFind(componentId);
90 if (iter != BaseClass2::m_componentsMap.constEnd()){
108 FactoriesMap::const_iterator iter = m_factoriesMap.constFind(componentId);
109 if (iter != m_factoriesMap.constEnd()){
110 Q_ASSERT(iter.value() !=
nullptr);
112 return iter.value()->CreateInstance();
122 qFatal(
"Simulated component cannot have sub-components");
Provide session context of component.
Main component interface.
Composite component interface.
Wrapper of end component implementation used to correct control of component life-cycle.
Simulation wrapper of component.
virtual IComponent * GetSubcomponent(const QByteArray &componentId) const
Get access to subcomponent using its ID.
virtual const QByteArray & GetContextId() const
Get ID of this component in the context tree.
TComponentWrap< Base > BaseClass
virtual const ICompositeComponent * GetParentComponent(bool ownerOnly=false) const
Get parent of this component.
virtual void OnSubcomponentDeleted(const IComponent *subcomponentPtr)
Called if subcomponent is removed from memory.
virtual std::unique_ptr< IComponent > CreateSubcomponent(const QByteArray &componentId) const
Create instance of subcomponent using its ID.
void InitComponent()
Initialilze component after setting all its attributes and references.
virtual const IComponentContext * GetSubcomponentContext(const QByteArray &componentId) const
Get access to context of subcomponent using its ID.
CSimComponentContextBase BaseClass2
const QByteArray & GetName() const
Get undecorated and platform undependent class name.
Package with interfaces and class used for components concept.