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

Standard implementation of registry. More...

#include <CRegistry.h>

Inheritance diagram for icomp::CRegistry:
Collaboration diagram for icomp::CRegistry:

Public Member Functions

Ids GetElementIds () const override
 Get ID list of existing elements.
 
const ElementInfoGetElementInfo (const QByteArray &elementId) const override
 Get access to stored attribute info structure.
 
ElementInfoInsertElementInfo (const QByteArray &elementId, const CComponentAddress &address, bool ensureElementCreated=true) override
 Insert new attribute info object to collection of attributes.
 
bool RemoveElementInfo (const QByteArray &elementId) override
 Removes attribute info structure from this collection.
 
bool RenameElement (const QByteArray &oldElementId, const QByteArray &newElementId) override
 Rename an registry element.
 
Ids GetEmbeddedRegistryIds () const override
 Get list of IDs of embedded registries.
 
IRegistryGetEmbeddedRegistry (const QByteArray &registryId) const override
 Get access to embedded registry using its ID.
 
IRegistryInsertEmbeddedRegistry (const QByteArray &registryId) override
 Insert embedded registry with specified ID.
 
bool RemoveEmbeddedRegistry (const QByteArray &registryId) override
 Remove embedded registry with specified ID.
 
bool RenameEmbeddedRegistry (const QByteArray &oldRegistryId, const QByteArray &newRegistryId) override
 Rename a embedded registry.
 
const ExportedInterfacesMapGetExportedInterfacesMap () const override
 Get access to information structure of exported interfaces.
 
const ExportedElementsMapGetExportedElementsMap () const override
 Get access to map used to convert exported sub-elements to internal sub-element ID's.
 
void SetElementInterfaceExported (const QByteArray &elementId, const QByteArray &interfaceName, bool state=true) override
 Enable or disable exporting single or all interfaces of element.
 
void SetElementExported (const QByteArray &exportId, const QByteArray &elementId) override
 Set element to be exported.
 
const QString & GetDescription () const override
 Get human readable description of this registry.
 
void SetDescription (const QString &description) override
 set human readable description of this registry.
 
const QString & GetKeywords () const override
 Get keywords for this registry used for search.
 
void SetKeywords (const QString &keywords) override
 Set keywords for this registry used for search.
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
- Public Member Functions inherited from icomp::IRegistry
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- 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.
 

Protected Types

typedef imod::TModelWrap< istd::TChangeDelegator< CRegistryElement > > Element
 
typedef std::unique_ptr< IRegistryRegistryPtr
 
typedef std::map< QByteArray, RegistryPtrEmbeddedRegistriesMap
 

Protected Member Functions

virtual std::unique_ptr< IRegistryElementCreateRegistryElement (const QByteArray &elementId, const CComponentAddress &address) const
 Called to create instance of registry element.
 
virtual bool SerializeComponents (iser::IArchive &archive)
 
virtual bool SerializeEmbeddedRegistries (iser::IArchive &archive)
 
virtual bool SerializeExportedInterfaces (iser::IArchive &archive)
 
virtual bool SerializeExportedComponents (iser::IArchive &archive)
 
- 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.
 

Protected Attributes

EmbeddedRegistriesMap m_embeddedRegistriesMap
 

Additional Inherited Members

- Public Types inherited from icomp::IRegistry
enum  ChangeFlags {
  CF_ELEMENT_ADDED = 0xf72390 , CF_ELEMENT_REMOVED , CF_ELEMENT_EXPORTED , CF_ELEMENT_RENAMED ,
  CF_EMBEDDED
}
 Change flags. More...
 
typedef QSet< QByteArray > Ids
 
typedef std::unique_ptr< IRegistryElementElementPtr
 
typedef std::map< QByteArray, QByteArray > ExportedInterfacesMap
 Map assigning interface ID (undecorated) to component ID exporting this interface.
 
typedef std::map< QByteArray, QByteArray > ExportedElementsMap
 Map assigning exported sub-component names to internal subcomponent ID's.
 
- 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...
 
- 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.
 

Detailed Description

Standard implementation of registry.

Definition at line 24 of file CRegistry.h.

Member Typedef Documentation

◆ Element

◆ EmbeddedRegistriesMap

std::map<QByteArray, RegistryPtr> icomp::CRegistry::EmbeddedRegistriesMap
protected

Definition at line 73 of file CRegistry.h.

◆ RegistryPtr

std::unique_ptr<IRegistry> icomp::CRegistry::RegistryPtr
protected

Definition at line 72 of file CRegistry.h.

Member Function Documentation

◆ CreateRegistryElement()

virtual std::unique_ptr< IRegistryElement > icomp::CRegistry::CreateRegistryElement ( const QByteArray & elementId,
const CComponentAddress & address ) const
protectedvirtual

Called to create instance of registry element.

Reimplemented in icmpstr::CVisualRegistry.

◆ GetDescription()

const QString & icomp::CRegistry::GetDescription ( ) const
overridevirtual

Get human readable description of this registry.

Implements icomp::IRegistry.

◆ GetElementIds()

Ids icomp::CRegistry::GetElementIds ( ) const
overridevirtual

Get ID list of existing elements.

Implements icomp::IRegistry.

◆ GetElementInfo()

const ElementInfo * icomp::CRegistry::GetElementInfo ( const QByteArray & elementId) const
overridevirtual

Get access to stored attribute info structure.

Implements icomp::IRegistry.

◆ GetEmbeddedRegistry()

IRegistry * icomp::CRegistry::GetEmbeddedRegistry ( const QByteArray & registryId) const
overridevirtual

Get access to embedded registry using its ID.

Embedded registries are used to manage local composite components.

Implements icomp::IRegistry.

◆ GetEmbeddedRegistryIds()

Ids icomp::CRegistry::GetEmbeddedRegistryIds ( ) const
overridevirtual

Get list of IDs of embedded registries.

Embedded registries are used to manage local composite components.

Returns
set of IDs.

Implements icomp::IRegistry.

◆ GetExportedElementsMap()

const ExportedElementsMap & icomp::CRegistry::GetExportedElementsMap ( ) const
overridevirtual

Get access to map used to convert exported sub-elements to internal sub-element ID's.

Implements icomp::IRegistry.

◆ GetExportedInterfacesMap()

const ExportedInterfacesMap & icomp::CRegistry::GetExportedInterfacesMap ( ) const
overridevirtual

Get access to information structure of exported interfaces.

Implements icomp::IRegistry.

◆ GetKeywords()

const QString & icomp::CRegistry::GetKeywords ( ) const
overridevirtual

Get keywords for this registry used for search.

Implements icomp::IRegistry.

◆ InsertElementInfo()

ElementInfo * icomp::CRegistry::InsertElementInfo ( const QByteArray & elementId,
const CComponentAddress & address,
bool ensureElementCreated = true )
overridevirtual

Insert new attribute info object to collection of attributes.

Parameters
elementIdunique ID of new element (component).
addressaddress describing element type.
ensureElementCreatedif true new element will be created.

Implements icomp::IRegistry.

Reimplemented in icmpstr::CVisualRegistry, and ipackage::CPackagesLoaderComp::LogingRegistry.

◆ InsertEmbeddedRegistry()

IRegistry * icomp::CRegistry::InsertEmbeddedRegistry ( const QByteArray & registryId)
overridevirtual

Insert embedded registry with specified ID.

Returns
instance of new created embedded registry.

Implements icomp::IRegistry.

Reimplemented in icmpstr::CVisualRegistry.

◆ RemoveElementInfo()

bool icomp::CRegistry::RemoveElementInfo ( const QByteArray & elementId)
overridevirtual

Removes attribute info structure from this collection.

Implements icomp::IRegistry.

◆ RemoveEmbeddedRegistry()

bool icomp::CRegistry::RemoveEmbeddedRegistry ( const QByteArray & registryId)
overridevirtual

Remove embedded registry with specified ID.

Returns
true, if registry could be removed.

Implements icomp::IRegistry.

◆ RenameElement()

bool icomp::CRegistry::RenameElement ( const QByteArray & oldElementId,
const QByteArray & newElementId )
overridevirtual

Rename an registry element.

Parameters
oldElementIdID of element to be renamed.
newElementIdthe new ID of element.

Implements icomp::IRegistry.

Reimplemented in icmpstr::CVisualRegistry.

◆ RenameEmbeddedRegistry()

bool icomp::CRegistry::RenameEmbeddedRegistry ( const QByteArray & oldRegistryId,
const QByteArray & newRegistryId )
overridevirtual

Rename a embedded registry.

Parameters
oldElementIdID of element to be renamed.
newElementIdthe new ID of element.

Implements icomp::IRegistry.

◆ Serialize()

bool icomp::CRegistry::Serialize ( iser::IArchive & archive)
overridevirtual

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.

Reimplemented in icmpstr::CVisualRegistry.

◆ SerializeComponents()

virtual bool icomp::CRegistry::SerializeComponents ( iser::IArchive & archive)
protectedvirtual

◆ SerializeEmbeddedRegistries()

virtual bool icomp::CRegistry::SerializeEmbeddedRegistries ( iser::IArchive & archive)
protectedvirtual

◆ SerializeExportedComponents()

virtual bool icomp::CRegistry::SerializeExportedComponents ( iser::IArchive & archive)
protectedvirtual

◆ SerializeExportedInterfaces()

virtual bool icomp::CRegistry::SerializeExportedInterfaces ( iser::IArchive & archive)
protectedvirtual

◆ SetDescription()

void icomp::CRegistry::SetDescription ( const QString & description)
overridevirtual

set human readable description of this registry.

Implements icomp::IRegistry.

◆ SetElementExported()

void icomp::CRegistry::SetElementExported ( const QByteArray & exportId,
const QByteArray & elementId )
overridevirtual

Set element to be exported.

Parameters
exportIdID of exported name, or nullptr if this export should be removed.
elementIdID of element or its subelement (separated with slash) or empty string, if this export should be removed.

Implements icomp::IRegistry.

◆ SetElementInterfaceExported()

void icomp::CRegistry::SetElementInterfaceExported ( const QByteArray & elementId,
const QByteArray & interfaceName,
bool state = true )
overridevirtual

Enable or disable exporting single or all interfaces of element.

Parameters
elementIdID of element in registry.
exportInterfaceInfospecify interface. If must be invalid.
statethe export state. If false, the existing export will be removed.

Implements icomp::IRegistry.

◆ SetKeywords()

void icomp::CRegistry::SetKeywords ( const QString & keywords)
overridevirtual

Set keywords for this registry used for search.

Implements icomp::IRegistry.

Member Data Documentation

◆ m_embeddedRegistriesMap

EmbeddedRegistriesMap icomp::CRegistry::m_embeddedRegistriesMap
protected

Definition at line 74 of file CRegistry.h.


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

© Witold Gantzke and Kirill Lepskiy