53 bool isParentOwner)
override;
66 m_factoryKeys.insert(istd::CClassInfo::GetName<Base>());
84 if (keyId.isEmpty() || m_factoryKeys.contains(keyId)){
86 if (retVal !=
nullptr){
102 return m_base.GetSubcomponent(componentId);
109 return m_base.GetSubcomponentContext(componentId);
117 if (componentPtr !=
NULL){
128 m_base.OnSubcomponentDeleted(subcomponentPtr);
151 return m_base.GetComponentContext();
161 m_base.SetComponentContext(contextPtr, parentPtr, isParentOwner);
Main component interface.
virtual const icomp::IComponent * GetParentComponent(bool ownerOnly=false) const =0
Get parent of this component.
virtual void SetComponentContext(const IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner)=0
Set component context of this component.
virtual void * GetInterface(const istd::CClassInfo &interfaceType, const QByteArray &subId="")=0
Get access to specified component interface.
Composite component interface.
Wrapper of end component implementation used to correct control of component life-cycle.
Simulation wrapper of component.
void InitComponent()
Initialilze component after setting all its attributes and references.
Simulation wrapper of component.
virtual void OnSubcomponentDeleted(const IComponent *subcomponentPtr) override
Called if subcomponent is removed from memory.
virtual icomp::IComponentContextSharedPtr GetComponentContext() const override
Get access to component context describing all application-specified component information loaded fro...
virtual IComponentContextSharedPtr GetSubcomponentContext(const QByteArray &componentId) const override
Get access to context of subcomponent using its ID.
virtual istd::IFactoryInfo::KeyList GetFactoryKeys() const override
Returns all possible keys for this factory.
virtual const icomp::IComponent * GetParentComponent(bool ownerOnly=false) const override
Get parent of this component.
virtual void SetComponentContext(const icomp::IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner) override
Set component context of this component.
virtual IComponentUniquePtr CreateSubcomponent(const QByteArray &componentId) const override
Create instance of subcomponent using its ID.
virtual void * GetInterface(const istd::CClassInfo &interfaceType, const QByteArray &subId="") override
Get access to specified component interface.
virtual istd::TUniqueInterfacePtr< icomp::IComponent > CreateInstance(const QByteArray &keyId="") const override
Create an instance of the object, mapped to the keyId keyId.
virtual IComponentSharedPtr GetSubcomponent(const QByteArray &componentId) const override
Get access to subcomponent using its ID.
TSimComponentWrap< Base > * operator->()
Represents platform independent type info and provide set of static class manipulation functions.
QSet< QByteArray > KeyList
Generic interface for a factory.
Unique ownership smart pointer for interface types.
Package with interfaces and class used for components concept.
std::unique_ptr< IComponent > IComponentUniquePtr
std::shared_ptr< icomp::IComponentContext > IComponentContextSharedPtr
std::shared_ptr< IComponent > IComponentSharedPtr