ACF $AcfVersion:0$
CCachedEnvironmentManager.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QMap>
7
8// ACF includes
9#include <istd/TSmartPtr.h>
10#include <iser/ISerializable.h>
12#include <icomp/CRegistry.h>
15
16
17namespace icomp
18{
19
20
27{
28public:
30
34 bool AddComposedComponent(const icomp::CComponentAddress& address, const icomp::IRegistry& registry);
35
40
41 // reimplemented (icomp::IRegistriesManager)
42 virtual const icomp::IRegistry* GetRegistry(const icomp::CComponentAddress& address, const icomp::IRegistry* contextRegistryPtr = NULL) const override;
43
44 // reimplemented (iser::ISerializable)
45 virtual bool Serialize(iser::IArchive& archive) override;
46
47private:
49 typedef QMap<QByteArray, istd::TSmartPtr<Registry>> RegistriesMap;
50
51 struct PackageInfo
52 {
54 RegistriesMap registriesMap;
55 };
56 typedef QMap<QByteArray, PackageInfo> PackagesMap;
57
58 PackagesMap m_packagesMap;
59};
60
61
62} // namespace icomp
63
64
Provide environment manager using stored registries.
bool AddComposedComponent(const icomp::CComponentAddress &address, const icomp::IRegistry &registry)
Add single registry to this manager.
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
void InitializeStaticInfo()
Initialize all static info for registries.
virtual const icomp::IRegistry * GetRegistry(const icomp::CComponentAddress &address, const icomp::IRegistry *contextRegistryPtr=NULL) const override
Get access to stored registry.
Represents global address of component.
Interface representing information stored in component registry.
Definition IRegistry.h:48
Represents an input/output persistence archive for object serialization.
Definition IArchive.h:164
Common class for all classes which objects can be archived or restored from archive.
Pointer wrapper providing automatic deleting pointed object during destruction.
Definition TDelPtr.h:21
#define NULL
Definition istd.h:74
Package with interfaces and class used for components concept.