CCompositePackageStaticInfo.h
Go to the documentation of this file.
1 #ifndef icomp_CCompositePackageStaticInfo_included
2 #define icomp_CCompositePackageStaticInfo_included
3 
4 
5 // Qt includes
6 #include <QtCore/QMap>
7 
8 // ACF includes
9 #include <istd/TDelPtr.h>
10 
13 
14 
15 namespace icomp
16 {
17 
18 
19 class IComponentEnvironmentManager;
20 
21 
26 {
27 public:
29 
31  const QByteArray& packageId,
32  const icomp::IComponentEnvironmentManager* managerPtr);
33 
34  void RegisterEmbeddedComponent(const QByteArray& componentId);
35 
36  // reimplemented (icomp::IComponentStaticInfo)
37  virtual Ids GetMetaIds(int metaGroupId) const;
38  virtual const IComponentStaticInfo* GetEmbeddedComponentInfo(const QByteArray& embeddedId) const;
39 
40 private:
41  struct ComponentInfo
42  {
43  ComponentInfo():isInitialized(false){}
44 
46  bool isInitialized;
47  };
48 
49  typedef QMap<QByteArray, ComponentInfo> EmbeddedComponentInfos;
50  mutable EmbeddedComponentInfos m_embeddedComponentInfos;
51 
52  QByteArray m_packageId;
53  const icomp::IComponentEnvironmentManager& m_envManager;
54 };
55 
56 
57 } // namespace icomp
58 
59 
60 #endif // !icomp_CCompositePackageStaticInfo_included
61 
62 
CCompositePackageStaticInfo(const QByteArray &packageId, const icomp::IComponentEnvironmentManager *managerPtr)
Static info for component package.
void RegisterEmbeddedComponent(const QByteArray &componentId)
virtual Ids GetMetaIds(int metaGroupId) const
Get list of meta IDs associated with some meta key.
Implementation of package static info designing to provide composite component information 'on demand...
virtual const IComponentStaticInfo * GetEmbeddedComponentInfo(const QByteArray &embeddedId) const
Return number of interfaces for specific slot.
This interface provide static information about component meta info.
Pointer wrapper providing automatic deleting pointed object during destruction.
Definition: TDelPtr.h:20

© 2007-2017 Witold Gantzke and Kirill Lepskiy