ICF 3.1.1.10
Technical documentation of ICF Libraries
CCachedEnvironmentManager.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// Qt includes
10#include <QtCore/QMap>
11
12// ICF includes
13#include <iser/ISerializable.h>
15#include <icomp/CRegistry.h>
18
19
20namespace icomp
21{
22
23
30{
31public:
33
37 bool AddComposedComponent(const CComponentAddress& address, const IRegistry& registry);
38
43
44 // reimplemented (icomp::IRegistriesManager)
45 virtual const IRegistry* GetRegistry(const CComponentAddress& address, const IRegistry* contextRegistryPtr = nullptr) const;
46
47 // reimplemented (iser::ISerializable)
48 virtual bool Serialize(iser::IArchive& archive);
49
50private:
52 typedef std::map<QByteArray, Registry> RegistriesMap;
53 struct PackageInfo
54 {
55 std::unique_ptr<CCompositePackageStaticInfo> staticInfoPtr;
56 RegistriesMap registriesMap;
57 };
58 typedef std::map<QByteArray, PackageInfo> PackagesMap;
59
60 PackagesMap m_packagesMap;
61};
62
63
64} // namespace icomp
65
66
Provide environment manager using stored registries.
virtual bool Serialize(iser::IArchive &archive)
Load or store state of this object as a archive stream.
bool AddComposedComponent(const CComponentAddress &address, const IRegistry &registry)
Add single registry to this manager.
void InitializeStaticInfo()
Initialize all static info for registries.
virtual const IRegistry * GetRegistry(const CComponentAddress &address, const IRegistry *contextRegistryPtr=nullptr) const
Get access to stored registry.
Represents global address of component.
Interface representing information stored in component registry.
Definition IRegistry.h:30
Represent input/output persistence archive.
Definition IArchive.h:34
Common class for all classes which objects can be archived or restored from archive.
Package with interfaces and class used for components concept.

© Witold Gantzke and Kirill Lepskiy