ICompositeComponent.h
Go to the documentation of this file.
1 #ifndef icomp_ICompositeComponent_included
2 #define icomp_ICompositeComponent_included
3 
4 
5 // ACF includes
6 #include <icomp/IComponent.h>
7 
8 
9 namespace icomp
10 {
11 
12 
19 class ICompositeComponent: virtual public IComponent
20 {
21 public:
25  virtual IComponent* GetSubcomponent(const QByteArray& componentId) const = 0;
26 
31  virtual const IComponentContext* GetSubcomponentContext(const QByteArray& componentId) const = 0;
32 
36  virtual IComponent* CreateSubcomponent(const QByteArray& componentId) const = 0;
37 
42  virtual void OnSubcomponentDeleted(const IComponent* subcomponentPtr) = 0;
43 };
44 
45 
46 } // namespace icomp
47 
48 
49 #endif // !icomp_ICompositeComponent_included
50 
51 
virtual IComponent * GetSubcomponent(const QByteArray &componentId) const =0
Get access to subcomponent using its ID.
Main component interface.
Definition: IComponent.h:31
Provide session context of component.
virtual IComponent * CreateSubcomponent(const QByteArray &componentId) const =0
Create instance of subcomponent using its ID.
virtual void OnSubcomponentDeleted(const IComponent *subcomponentPtr)=0
Called if subcomponent is removed from memory.
virtual const IComponentContext * GetSubcomponentContext(const QByteArray &componentId) const =0
Get access to context of subcomponent using its ID.
Composite component interface.

© 2007-2017 Witold Gantzke and Kirill Lepskiy