![]() |
The Gaudi Framework
v26r3
|
Definition of an entry in the transient data store. More...
#include <GaudiKernel/RegistryEntry.h>
Public Types | |
typedef Store::const_iterator | Iterator |
Iterator definition. More... | |
typedef Store::const_iterator | Iterator |
Iterator definition. More... | |
![]() | |
typedef std::string | name_type |
Type definitions Name type. More... | |
typedef std::string | id_type |
Identifier Key type. More... | |
typedef std::string | name_type |
Type definitions Name type. More... | |
typedef std::string | id_type |
Identifier Key type. More... | |
Public Member Functions | |
RegistryEntry (std::string path, RegistryEntry *parent=0) | |
Standard Constructor. More... | |
virtual | ~RegistryEntry () |
Standard Destructor. More... | |
virtual unsigned long | release () |
IInterface implementation: Reference the object. More... | |
virtual unsigned long | addRef () |
IInterface implementation: Dereference the object. More... | |
const std::string & | name () const |
Retrieve name of the entry. More... | |
virtual const std::string & | identifier () const |
Full identifier (or key) More... | |
virtual IDataProviderSvc * | dataSvc () const |
Retrieve pointer to Transient Store. More... | |
virtual DataObject * | object () const |
Retrive object behind the link. More... | |
virtual IOpaqueAddress * | address () const |
Retrieve opaque storage address. More... | |
virtual IRegistry * | parent () const |
Pointer to parent directory entry. More... | |
virtual bool | isSoft () const |
Is the link soft or hard. More... | |
const Store & | leaves () const |
Access the leaves of the object. More... | |
virtual int | size () const |
Return the size of the container(=number of objects) More... | |
virtual bool | isEmpty () const |
Simple check if the Container is empty. More... | |
virtual Iterator | begin () const |
Return starting point for container iteration. More... | |
virtual Iterator | end () const |
Return end elemtn if the container. More... | |
virtual IRegistry * | find (const IRegistry *obj) const |
Try to find an object identified by its pointer. More... | |
virtual IRegistry * | find (const std::string &path) const |
Try to find an object identified by its relative name to the directory. More... | |
void | setAddress (IOpaqueAddress *pAddress) |
Set/Update Opaque address. More... | |
void | setObject (DataObject *obj) |
Set/Update object address. More... | |
virtual long | add (const std::string &name, DataObject *pObject, bool is_soft=false) |
Add entry to data store. More... | |
virtual long | add (const std::string &name, IOpaqueAddress *pAddress, bool is_soft=false) |
Add entry to data store. More... | |
virtual long | remove (const std::string &name) |
Remove an entry from the store. More... | |
virtual long | add (IRegistry *obj) |
Add object to the container. More... | |
virtual long | remove (IRegistry *obj) |
Remove an object from the container. More... | |
virtual long | deleteElements () |
Delete all contained elements. More... | |
virtual long | traverseTree (IDataStoreAgent *pAgent, int level=0) |
traverse data tree More... | |
RegistryEntry (std::string path, RegistryEntry *parent=0) | |
Standard Constructor. More... | |
virtual | ~RegistryEntry () |
Standard Destructor. More... | |
virtual unsigned long | release () |
IInterface implementation: Reference the object. More... | |
virtual unsigned long | addRef () |
IInterface implementation: Dereference the object. More... | |
const std::string & | name () const |
Retrieve name of the entry. More... | |
virtual const std::string & | identifier () const |
Full identifier (or key) More... | |
virtual IDataProviderSvc * | dataSvc () const |
Retrieve pointer to Transient Store. More... | |
virtual DataObject * | object () const |
Retrive object behind the link. More... | |
virtual IOpaqueAddress * | address () const |
Retrieve opaque storage address. More... | |
virtual IRegistry * | parent () const |
Pointer to parent directory entry. More... | |
virtual bool | isSoft () const |
Is the link soft or hard. More... | |
const Store & | leaves () const |
Access the leaves of the object. More... | |
virtual int | size () const |
Return the size of the container(=number of objects) More... | |
virtual bool | isEmpty () const |
Simple check if the Container is empty. More... | |
virtual Iterator | begin () const |
Return starting point for container iteration. More... | |
virtual Iterator | end () const |
Return end elemtn if the container. More... | |
virtual IRegistry * | find (const IRegistry *obj) const |
Try to find an object identified by its pointer. More... | |
virtual IRegistry * | find (const std::string &path) const |
Try to find an object identified by its relative name to the directory. More... | |
void | setAddress (IOpaqueAddress *pAddress) |
Set/Update Opaque address. More... | |
void | setObject (DataObject *obj) |
Set/Update object address. More... | |
virtual long | add (const std::string &name, DataObject *pObject, bool is_soft=false) |
Add entry to data store. More... | |
virtual long | add (const std::string &name, IOpaqueAddress *pAddress, bool is_soft=false) |
Add entry to data store. More... | |
virtual long | remove (const std::string &name) |
Remove an entry from the store. More... | |
virtual long | add (IRegistry *obj) |
Add object to the container. More... | |
virtual long | remove (IRegistry *obj) |
Remove an object from the container. More... | |
virtual long | deleteElements () |
Delete all contained elements. More... | |
virtual long | traverseTree (IDataStoreAgent *pAgent, int level=0) |
traverse data tree More... | |
![]() | |
virtual | ~IRegistry () |
destructor More... | |
virtual | ~IRegistry () |
destructor More... | |
Private Types | |
typedef std::vector< IRegistry * > | Store |
Definition of datastore type. More... | |
typedef std::vector< IRegistry * > | Store |
Definition of datastore type. More... | |
Private Member Functions | |
void | assemblePath (std::string &buffer) const |
The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result. More... | |
IRegistry * | i_find (const IRegistry *pDirectory) const |
Internal method to retrieve data directory. More... | |
RegistryEntry * | i_find (boost::string_ref path) const |
Internal method to retrieve data directory. More... | |
RegistryEntry * | i_find (const DataObject *pObject) const |
Internal method to locate object entry. More... | |
RegistryEntry * | i_create (std::string name) |
Internal method to create entries. More... | |
long | i_add (RegistryEntry *entry) |
Internal method to add entries. More... | |
void | setParent (RegistryEntry *pParent) |
Set new parent pointer. More... | |
void | setDataSvc (IDataProviderSvc *s) |
Set the transient data store. More... | |
virtual RegistryEntry * | parentEntry () |
Pointer to parent registry entry. More... | |
RegistryEntry * | findLeaf (boost::string_ref path) const |
Find identified leaf in this registry node. More... | |
RegistryEntry * | findLeaf (const DataObject *key) const |
Find identified leaf in this registry node. More... | |
void | makeHard (DataObject *pObject) |
Initialize link as hard link. More... | |
void | makeHard (IOpaqueAddress *pAddress) |
Initialize link as hard link. More... | |
void | makeSoft (DataObject *pObject) |
Initialize link as soft link. More... | |
void | makeSoft (IOpaqueAddress *pAddress) |
Initialize link as soft link. More... | |
void | assemblePath (std::string &buffer) const |
The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result. More... | |
IRegistry * | i_find (const IRegistry *pDirectory) const |
Internal method to retrieve data directory. More... | |
RegistryEntry * | i_find (boost::string_ref path) const |
Internal method to retrieve data directory. More... | |
RegistryEntry * | i_find (const DataObject *pObject) const |
Internal method to locate object entry. More... | |
RegistryEntry * | i_create (std::string name) |
Internal method to create entries. More... | |
long | i_add (RegistryEntry *entry) |
Internal method to add entries. More... | |
void | setParent (RegistryEntry *pParent) |
Set new parent pointer. More... | |
void | setDataSvc (IDataProviderSvc *s) |
Set the transient data store. More... | |
virtual RegistryEntry * | parentEntry () |
Pointer to parent registry entry. More... | |
RegistryEntry * | findLeaf (boost::string_ref path) const |
Find identified leaf in this registry node. More... | |
RegistryEntry * | findLeaf (const DataObject *key) const |
Find identified leaf in this registry node. More... | |
void | makeHard (DataObject *pObject) |
Initialize link as hard link. More... | |
void | makeHard (IOpaqueAddress *pAddress) |
Initialize link as hard link. More... | |
void | makeSoft (DataObject *pObject) |
Initialize link as soft link. More... | |
void | makeSoft (IOpaqueAddress *pAddress) |
Initialize link as soft link. More... | |
Private Attributes | |
unsigned long | m_refCount |
Reference counter. More... | |
bool | m_isSoft |
Is the link soft or hard? More... | |
std::string | m_fullpath |
String containing full path of the object (volatile) More... | |
std::string | m_path |
Path name. More... | |
RegistryEntry * | m_pParent |
Pointer to parent. More... | |
IOpaqueAddress * | m_pAddress |
Pointer to opaque address (load info) More... | |
DataObject * | m_pObject |
Pointer to object. More... | |
IDataProviderSvc * | m_pDataProviderSvc |
Pointer to hosting transient store. More... | |
Store | m_store |
Store of leaves. More... | |
Friends | |
class | ::DataSvc |
Definition of an entry in the transient data store.
The RegistryEntry represents an entry of the transient data store. The object holds the recipe how to retrieve objects from the persistent world (member IOpaqueAddress) as well as the backward link to the parent entry and the leaves.
Definition at line 35 of file RegistryEntry.h.
typedef Store::const_iterator DataSvcHelpers::RegistryEntry::Iterator |
Iterator definition.
Definition at line 42 of file RegistryEntry.h.
typedef Store::const_iterator DataSvcHelpers::RegistryEntry::Iterator |
Iterator definition.
Definition at line 42 of file RegistryEntry.h.
|
private |
Definition of datastore type.
Definition at line 38 of file RegistryEntry.h.
|
private |
Definition of datastore type.
Definition at line 38 of file RegistryEntry.h.
DataSvcHelpers::RegistryEntry::RegistryEntry | ( | std::string | path, |
RegistryEntry * | parent = 0 |
||
) |
Standard Constructor.
Definition at line 50 of file RegistryEntry.cpp.
|
virtual |
Standard Destructor.
Standard destructor.
Definition at line 67 of file RegistryEntry.cpp.
DataSvcHelpers::RegistryEntry::RegistryEntry | ( | std::string | path, |
RegistryEntry * | parent = 0 |
||
) |
Standard Constructor.
|
virtual |
Standard Destructor.
|
virtual |
Add entry to data store.
Add entry to the current data store item.
Definition at line 208 of file RegistryEntry.cpp.
|
virtual |
Add entry to data store.
|
virtual |
Add entry to data store.
Add entry to the current data store item.
Definition at line 217 of file RegistryEntry.cpp.
|
virtual |
Add entry to data store.
|
virtual |
Add object to the container.
Definition at line 180 of file RegistryEntry.cpp.
|
virtual |
Add object to the container.
|
inlinevirtual |
IInterface implementation: Dereference the object.
Implements IRegistry.
Definition at line 115 of file RegistryEntry.h.
|
inlinevirtual |
IInterface implementation: Dereference the object.
Implements IRegistry.
Definition at line 115 of file RegistryEntry.h.
|
inlinevirtual |
Retrieve opaque storage address.
Implements IRegistry.
Definition at line 135 of file RegistryEntry.h.
|
inlinevirtual |
Retrieve opaque storage address.
Implements IRegistry.
Definition at line 135 of file RegistryEntry.h.
|
private |
The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result.
Recursive helper to assemble the full path name of the entry
Definition at line 314 of file RegistryEntry.cpp.
|
private |
The following entries serve two aspects: 1) They are faster for recursive calls, because they are non-virtual 2) They can be re-used for the non-const entry points using a const_cast of the result.
Recursive helper to assemble the full path name of the entry
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Retrieve pointer to Transient Store.
Implements IRegistry.
Definition at line 127 of file RegistryEntry.h.
|
inlinevirtual |
Retrieve pointer to Transient Store.
Implements IRegistry.
Definition at line 127 of file RegistryEntry.h.
|
virtual |
Delete all contained elements.
Delete recursively all elements pending from the current store item.
Definition at line 226 of file RegistryEntry.cpp.
|
virtual |
Delete all contained elements.
|
inlinevirtual |
|
inlinevirtual |
Try to find an object identified by its pointer.
Definition at line 167 of file RegistryEntry.h.
Try to find an object identified by its pointer.
Definition at line 167 of file RegistryEntry.h.
|
inlinevirtual |
Try to find an object identified by its relative name to the directory.
Definition at line 171 of file RegistryEntry.h.
|
inlinevirtual |
Try to find an object identified by its relative name to the directory.
Definition at line 171 of file RegistryEntry.h.
|
inlineprivate |
Find identified leaf in this registry node.
Definition at line 92 of file RegistryEntry.h.
|
inlineprivate |
Find identified leaf in this registry node.
Definition at line 92 of file RegistryEntry.h.
|
inlineprivate |
Find identified leaf in this registry node.
Definition at line 96 of file RegistryEntry.h.
|
inlineprivate |
Find identified leaf in this registry node.
Definition at line 96 of file RegistryEntry.h.
|
private |
Internal method to add entries.
|
private |
Internal method to add entries.
Add object to the container.
Definition at line 186 of file RegistryEntry.cpp.
|
private |
Internal method to create entries.
Internal method to add entries.
Definition at line 170 of file RegistryEntry.cpp.
|
private |
Internal method to create entries.
Internal method to retrieve data directory.
Try to find an object identified by its pointer.
Definition at line 239 of file RegistryEntry.cpp.
Internal method to retrieve data directory.
|
private |
Internal method to retrieve data directory.
|
private |
Internal method to retrieve data directory.
Find identified leaf in this registry node.
Definition at line 245 of file RegistryEntry.cpp.
|
private |
Internal method to locate object entry.
Find identified leaf in this registry node.
Definition at line 274 of file RegistryEntry.cpp.
|
private |
Internal method to locate object entry.
|
inlinevirtual |
Full identifier (or key)
Implements IRegistry.
Definition at line 123 of file RegistryEntry.h.
|
inlinevirtual |
Full identifier (or key)
Implements IRegistry.
Definition at line 123 of file RegistryEntry.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Is the link soft or hard.
Definition at line 143 of file RegistryEntry.h.
|
inlinevirtual |
Is the link soft or hard.
Definition at line 143 of file RegistryEntry.h.
|
inline |
|
inline |
|
private |
Initialize link as hard link.
Create hard link.
Definition at line 109 of file RegistryEntry.cpp.
|
private |
Initialize link as hard link.
|
private |
Initialize link as hard link.
|
private |
Initialize link as hard link.
Create hard link.
Definition at line 117 of file RegistryEntry.cpp.
|
private |
Initialize link as soft link.
|
private |
Initialize link as soft link.
Create soft link.
Definition at line 94 of file RegistryEntry.cpp.
|
private |
Initialize link as soft link.
|
private |
Initialize link as soft link.
Create soft link.
Definition at line 103 of file RegistryEntry.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Retrive object behind the link.
Implements IRegistry.
Definition at line 131 of file RegistryEntry.h.
|
inlinevirtual |
Retrive object behind the link.
Implements IRegistry.
Definition at line 131 of file RegistryEntry.h.
|
inlinevirtual |
Pointer to parent directory entry.
Definition at line 139 of file RegistryEntry.h.
|
inlinevirtual |
Pointer to parent directory entry.
Definition at line 139 of file RegistryEntry.h.
|
inlineprivatevirtual |
Pointer to parent registry entry.
Definition at line 88 of file RegistryEntry.h.
|
inlineprivatevirtual |
Pointer to parent registry entry.
Definition at line 88 of file RegistryEntry.h.
|
virtual |
IInterface implementation: Reference the object.
Implements IRegistry.
|
virtual |
IInterface implementation: Reference the object.
Release entry.
Implements IRegistry.
Definition at line 80 of file RegistryEntry.cpp.
|
virtual |
Remove an entry from the store.
Remove entry from data store.
Definition at line 157 of file RegistryEntry.cpp.
|
virtual |
Remove an entry from the store.
|
virtual |
Remove an object from the container.
|
virtual |
Remove an object from the container.
Definition at line 143 of file RegistryEntry.cpp.
|
virtual |
Set/Update Opaque address.
Update Opaque address of registry entry.
Implements IRegistry.
Definition at line 123 of file RegistryEntry.cpp.
|
virtual |
Set/Update Opaque address.
Implements IRegistry.
|
inlineprivate |
Set the transient data store.
Definition at line 84 of file RegistryEntry.h.
|
inlineprivate |
Set the transient data store.
Definition at line 84 of file RegistryEntry.h.
void DataSvcHelpers::RegistryEntry::setObject | ( | DataObject * | obj | ) |
Set/Update object address.
Set object pointer of data store item.
Definition at line 133 of file RegistryEntry.cpp.
void DataSvcHelpers::RegistryEntry::setObject | ( | DataObject * | obj | ) |
Set/Update object address.
|
private |
Set new parent pointer.
Definition at line 87 of file RegistryEntry.cpp.
|
private |
Set new parent pointer.
|
inlinevirtual |
Return the size of the container(=number of objects)
Definition at line 151 of file RegistryEntry.h.
|
inlinevirtual |
Return the size of the container(=number of objects)
Definition at line 151 of file RegistryEntry.h.
|
virtual |
traverse data tree
Definition at line 296 of file RegistryEntry.cpp.
|
virtual |
traverse data tree
Definition at line 40 of file RegistryEntry.h.
|
private |
String containing full path of the object (volatile)
Definition at line 49 of file RegistryEntry.h.
|
private |
Is the link soft or hard?
Definition at line 47 of file RegistryEntry.h.
|
private |
Pointer to opaque address (load info)
Definition at line 55 of file RegistryEntry.h.
|
private |
Path name.
Definition at line 51 of file RegistryEntry.h.
|
private |
Pointer to hosting transient store.
Definition at line 59 of file RegistryEntry.h.
|
private |
Pointer to object.
Definition at line 57 of file RegistryEntry.h.
|
private |
Pointer to parent.
Definition at line 53 of file RegistryEntry.h.
|
private |
Reference counter.
Definition at line 45 of file RegistryEntry.h.
|
private |
Store of leaves.
Definition at line 61 of file RegistryEntry.h.