Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
icomp::CRegistry Class Reference

Standard implementation of registry. More...

#include <CRegistry.h>

Inheritance diagram for icomp::CRegistry:
icomp::IRegistry iser::ISerializable istd::IChangeable istd::IPolymorphic ipackage::CPackagesLoaderComp::LogingRegistry

Public Member Functions

virtual Ids GetElementIds () const
 Get ID list of existing elements. More...
 
virtual const ElementInfoGetElementInfo (const QByteArray &elementId) const
 Get access to stored attribute info structure. More...
 
virtual ElementInfoInsertElementInfo (const QByteArray &elementId, const icomp::CComponentAddress &address, bool ensureElementCreated=true)
 Insert new attribute info object to collection of attributes. More...
 
virtual bool RemoveElementInfo (const QByteArray &elementId)
 Removes attribute info structure from this collection. More...
 
virtual bool RenameElement (const QByteArray &oldElementId, const QByteArray &newElementId)
 Rename an registry element. More...
 
virtual Ids GetEmbeddedRegistryIds () const
 Get list of IDs of embedded registries. More...
 
virtual IRegistryGetEmbeddedRegistry (const QByteArray &registryId) const
 Get access to embedded registry using its ID. More...
 
virtual IRegistryInsertEmbeddedRegistry (const QByteArray &registryId)
 Insert embedded registry with specified ID. More...
 
virtual bool RemoveEmbeddedRegistry (const QByteArray &registryId)
 Remove embedded registry with specified ID. More...
 
virtual bool RenameEmbeddedRegistry (const QByteArray &oldRegistryId, const QByteArray &newRegistryId)
 Rename a embedded registry. More...
 
virtual const
ExportedInterfacesMap
GetExportedInterfacesMap () const
 Get access to information structure of exported interfaces. More...
 
virtual const ExportedElementsMapGetExportedElementsMap () const
 Get access to map used to convert exported sub-elements to internal sub-element ID's. More...
 
virtual void SetElementInterfaceExported (const QByteArray &elementId, const QByteArray &interfaceName, bool state=true)
 Enable or disable exporting single or all interfaces of element. More...
 
virtual void SetElementExported (const QByteArray &exportId, const QByteArray &elementId)
 Set element to be exported. More...
 
virtual const QString & GetDescription () const
 Get human readable description of this registry. More...
 
virtual void SetDescription (const QString &description)
 set human readable description of this registry. More...
 
virtual const QString & GetKeywords () const
 Get keywords for this registry used for search. More...
 
virtual void SetKeywords (const QString &keywords)
 Set keywords for this registry used for search. More...
 
virtual bool Serialize (iser::IArchive &archive)
 Load or store state of this object as a archive stream. More...
 
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction. More...
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Protected Types

typedef imod::TModelWrap
< istd::TChangeDelegator
< CRegistryElement > > 
Element
 
typedef istd::TDelPtr< IRegistryRegistryPtr
 
typedef QMap< QByteArray,
RegistryPtr
EmbeddedRegistriesMap
 

Protected Member Functions

virtual icomp::IRegistryElementCreateRegistryElement (const QByteArray &elementId, const icomp::CComponentAddress &address) const
 Called to create instance of registry element. More...
 
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. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 

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 istd::TDelPtr
< IRegistryElement
ElementPtr
 
typedef QMap< QByteArray,
QByteArray > 
ExportedInterfacesMap
 Map assigning interface ID (undecorated) to component ID exporting this interface. More...
 
typedef QMap< QByteArray,
QByteArray > 
ExportedElementsMap
 Map assigning exported sub-component names to internal subcomponent ID's. More...
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ACF_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
}
 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. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 

Detailed Description

Standard implementation of registry.

Definition at line 20 of file CRegistry.h.

Member Typedef Documentation

Definition at line 56 of file CRegistry.h.

typedef QMap<QByteArray, RegistryPtr> icomp::CRegistry::EmbeddedRegistriesMap
protected

Definition at line 70 of file CRegistry.h.

Definition at line 69 of file CRegistry.h.

Member Function Documentation

virtual icomp::IRegistryElement* icomp::CRegistry::CreateRegistryElement ( const QByteArray &  elementId,
const icomp::CComponentAddress address 
) const
protectedvirtual

Called to create instance of registry element.

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

Get human readable description of this registry.

Implements icomp::IRegistry.

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

Get ID list of existing elements.

Implements icomp::IRegistry.

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

Get access to stored attribute info structure.

Implements icomp::IRegistry.

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

Get access to embedded registry using its ID.

Embedded registries are used to manage local composite components.

Implements icomp::IRegistry.

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

Get list of IDs of embedded registries.

Embedded registries are used to manage local composite components.

Returns
set of IDs.

Implements icomp::IRegistry.

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

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

Implements icomp::IRegistry.

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

Get access to information structure of exported interfaces.

Implements icomp::IRegistry.

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

Get keywords for this registry used for search.

Implements icomp::IRegistry.

virtual quint32 icomp::CRegistry::GetMinimalVersion ( int  versionId) const
virtual

Get minimal needed version to correct storing of this data.

In implementation shold be calculated maximum version of this and composed component.

Reimplemented from iser::ISerializable.

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

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 ipackage::CPackagesLoaderComp::LogingRegistry.

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

Insert embedded registry with specified ID.

Returns
instance of new created embedded registry.

Implements icomp::IRegistry.

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

Removes attribute info structure from this collection.

Implements icomp::IRegistry.

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

Remove embedded registry with specified ID.

Returns
true, if registry could be removed.

Implements icomp::IRegistry.

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

Rename an registry element.

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

Implements icomp::IRegistry.

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

Rename a embedded registry.

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

Implements icomp::IRegistry.

virtual bool icomp::CRegistry::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.

virtual bool icomp::CRegistry::SerializeComponents ( iser::IArchive archive)
protectedvirtual
virtual bool icomp::CRegistry::SerializeEmbeddedRegistries ( iser::IArchive archive)
protectedvirtual
virtual bool icomp::CRegistry::SerializeExportedComponents ( iser::IArchive archive)
protectedvirtual
virtual bool icomp::CRegistry::SerializeExportedInterfaces ( iser::IArchive archive)
protectedvirtual
virtual void icomp::CRegistry::SetDescription ( const QString &  description)
virtual

set human readable description of this registry.

Implements icomp::IRegistry.

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

Set element to be exported.

Parameters
exportIdID of exported name, or NULL 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.

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

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.

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

Set keywords for this registry used for search.

Implements icomp::IRegistry.

Member Data Documentation

EmbeddedRegistriesMap icomp::CRegistry::m_embeddedRegistriesMap
protected

Definition at line 71 of file CRegistry.h.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy