IComponent.h
Go to the documentation of this file.
1 #ifndef icomp_IComponent_included
2 #define icomp_IComponent_included
3 
4 
5 // Qt includes
6 #include <QtCore/QByteArray>
7 
8 // ACF includes
9 #include <istd/IPolymorphic.h>
10 
11 
12 namespace istd
13 {
14  class CClassInfo;
15 }
16 
17 
18 namespace icomp
19 {
20 
21 
22 class IComponentContext;
23 class ICompositeComponent;
24 
25 
31 class IComponent: virtual public istd::IPolymorphic
32 {
33 public:
41  virtual const ICompositeComponent* GetParentComponent(bool ownerOnly = false) const = 0;
42 
48  virtual void* GetInterface(const istd::CClassInfo& interfaceType, const QByteArray& subId = "") = 0;
49 
54  virtual const IComponentContext* GetComponentContext() const = 0;
55 
64  virtual void SetComponentContext(
65  const icomp::IComponentContext* contextPtr,
66  const ICompositeComponent* parentPtr,
67  bool isParentOwner) = 0;
68 };
69 
70 
71 } // namespace icomp
72 
73 
74 #endif // !icomp_IComponent_included
75 
76 
virtual const IComponentContext * GetComponentContext() const =0
Get access to component context describing all application-specified component information loaded fro...
Main component interface.
Definition: IComponent.h:31
Provide session context of component.
virtual const ICompositeComponent * GetParentComponent(bool ownerOnly=false) const =0
Get parent of this component.
Base interface for all used interfaces and implementations.
Definition: IPolymorphic.h:17
virtual void * GetInterface(const istd::CClassInfo &interfaceType, const QByteArray &subId="")=0
Get access to specified component interface.
virtual void SetComponentContext(const icomp::IComponentContext *contextPtr, const ICompositeComponent *parentPtr, bool isParentOwner)=0
Set component context of this component.
Represents platform independent type info and provide set of static class manipulation functions...
Definition: CClassInfo.h:22
Composite component interface.

© 2007-2017 Witold Gantzke and Kirill Lepskiy