ICF 3.0.5.47
Technical documentation of ICF Libraries
icomp::CCachedEnvironmentManager Class Reference

Provide environment manager using stored registries. More...

#include <CCachedEnvironmentManager.h>

Inheritance diagram for icomp::CCachedEnvironmentManager:
Collaboration diagram for icomp::CCachedEnvironmentManager:

Public Types

typedef CEnvironmentManagerBase BaseClass
 
- Public Types inherited from icomp::IComponentStaticInfo
enum class  ComponentType { None , Real , Composite }
 Specify type of the component realization. More...
 
- Public Types inherited from icomp::IElementStaticInfo
enum class  MetaGroupId : int { Interfaces , Subelements , EmbeddedComponents , Last = Subelements }
 
typedef QSet< QByteArray > Ids
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
- Public Types inherited from icomp::IPackagesManager
enum  ChangeFlags { CF_PACKAGES_CHANGED = 0x734638 }
 
enum  PackageType { PT_UNDIFINED , PT_UNKNOWN , PT_REAL , PT_COMPOSED }
 
- Public Types inherited from icomp::IComponentListProvider
enum  ComponentTypeFlag { CTF_REAL = 1 << int(IComponentStaticInfo::ComponentType::Real) , CTF_COMPOSITE = 1 << int(IComponentStaticInfo::ComponentType::Composite) , CTF_ALL = -1 }
 
typedef QSet< CComponentAddressComponentAddresses
 

Public Member Functions

bool AddComposedComponent (const CComponentAddress &address, const IRegistry &registry)
 Add single registry to this manager.
 
void InitializeStaticInfo ()
 Initialize all static info for registries.
 
virtual const IRegistryGetRegistry (const CComponentAddress &address, const IRegistry *contextRegistryPtr=nullptr) const
 Get access to stored registry.
 
virtual bool Serialize (iser::IArchive &archive)
 Load or store state of this object as a archive stream.
 
- Public Member Functions inherited from icomp::CEnvironmentManagerBase
virtual QString GetConfigFilePath () const
 Get file path of real used config file.
 
virtual bool LoadPackages (const QString &configFilePath=QString())
 Configure environment for specified file path.
 
virtual int GetPackageType (const QByteArray &packageId) const
 Get type of package as defined in PackageType.
 
virtual QString GetPackagePath (const QByteArray &packageId) const
 Get directory path of specified component package.
 
virtual QString GetRegistryPath (const CComponentAddress &address) const
 Get registry file path, if it is composed registry.
 
virtual ComponentAddresses GetComponentAddresses (int typeFlag=CTF_ALL) const
 Get addresses of known components.
 
virtual const IComponentStaticInfoGetComponentMetaInfo (const CComponentAddress &address) const
 Get access to static info of some component.
 
virtual const IComponentStaticInfoGetPackageMetaInfo (const QByteArray &packageId) const
 Get access to static info of a package.
 
- Public Member Functions inherited from icomp::CPackageStaticInfo
 CPackageStaticInfo ()
 
 CPackageStaticInfo (const QString &description, const QString &keywords)
 
void Reset ()
 
virtual void RegisterEmbeddedComponentInfo (const QByteArray &embeddedId, const IComponentStaticInfo *componentInfoPtr)
 Register embedded component static info.
 
Ids GetMetaIds (MetaGroupId metaGroupId) const override
 Get list of meta IDs associated with some meta key.
 
const IComponentStaticInfoGetEmbeddedComponentInfo (const QByteArray &embeddedId) const override
 Return number of interfaces for specific slot.
 
const QString & GetDescription () const override
 Get human readable description of this component.
 
const QString & GetKeywords () const override
 Get keywords for this component.
 
- Public Member Functions inherited from icomp::CComponentStaticInfoBase
ComponentType GetComponentType () const override
 Get information about component type.
 
const IAttributeStaticInfoGetAttributeInfo (const QByteArray &attributeId) const override
 Get set of attributes.
 
const IElementStaticInfoGetSubelementInfo (const QByteArray &subcomponentId) const override
 Return number of interfaces for specific slot.
 
iattr::IAttributesProvider::AttributeIds GetAttributeMetaIds () const override
 Get all IDs of known attribute meta informations.
 
const iattr::IAttributeMetaInfoGetAttributeMetaInfo (const QByteArray &attributeId) const override
 Get property with the given index.
 
- Public Member Functions inherited from icomp::IComponentStaticInfo
- Public Member Functions inherited from icomp::IElementStaticInfo
- Public Member Functions inherited from iattr::IAttributesMetaInfoProvider
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from icomp::IComponentEnvironmentManager
- Public Member Functions inherited from icomp::IPackagesManager
- Public Member Functions inherited from icomp::IRegistriesManager
- Public Member Functions inherited from icomp::IComponentListProvider
- Public Member Functions inherited from icomp::IMetaInfoManager
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Detailed Description

Provide environment manager using stored registries.

Definition at line 27 of file CCachedEnvironmentManager.h.

Member Typedef Documentation

◆ BaseClass

Member Function Documentation

◆ AddComposedComponent()

bool icomp::CCachedEnvironmentManager::AddComposedComponent ( const CComponentAddress & address,
const IRegistry & registry )

Add single registry to this manager.

◆ GetRegistry()

virtual const IRegistry * icomp::CCachedEnvironmentManager::GetRegistry ( const CComponentAddress & address,
const IRegistry * contextRegistryPtr = nullptr ) const
virtual

Get access to stored registry.

Parameters
addressadress of registry treated as composed component.
Returns
registry object or nullptr if specified composite component is not registered.

Reimplemented from icomp::CEnvironmentManagerBase.

◆ InitializeStaticInfo()

void icomp::CCachedEnvironmentManager::InitializeStaticInfo ( )

Initialize all static info for registries.

◆ Serialize()

virtual bool icomp::CCachedEnvironmentManager::Serialize ( iser::IArchive & archive)
virtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Implements iser::ISerializable.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy