44 typedef std::vector<IRegistry*>
Store;
47 friend class ::DataSvc;
49 friend class ::TsDataSvc;
116 unsigned long release()
override;
163 long deleteElements();
A DataObject is the base class of any identifiable object on any data store.
Definition of an entry in the transient data store.
size_t size() const
Return the size of the container(=number of objects)
IDataProviderSvc * m_pDataProviderSvc
Pointer to hosting transient store.
std::vector< IRegistry * > Store
Definition of datastore type.
std::string m_fullpath
String containing full path of the object (volatile)
unsigned long addRef() override
IInterface implementation: Dereference the object.
IRegistry * find(std::string_view path) const
Try to find an object identified by its relative name to the directory.
Store m_store
Store of leaves.
unsigned long m_refCount
Reference counter.
RegistryEntry * i_create(std::string name)
Internal method to create entries.
IDataProviderSvc * dataSvc() const override
Retrieve pointer to Transient Store.
IRegistry * parent() const
Pointer to parent directory entry.
void setParent(RegistryEntry *pParent)
Set new parent pointer.
Iterator end() const
Return end elemtn if the container.
IRegistry * i_find(const IRegistry *pDirectory) const
Internal method to retrieve data directory.
const Store & leaves() const
Access the leaves of the object.
void assemblePath(std::string &buffer) const
The following entries serve two aspects: 1) They are faster for recursive calls, because they are non...
void setDataSvc(IDataProviderSvc *s)
Set the transient data store.
bool isSoft() const
Is the link soft or hard.
RegistryEntry * m_pParent
Pointer to parent.
DataObject * m_pObject
Pointer to object.
bool m_isSoft
Is the link soft or hard?
const std::string & identifier() const override
Full identifier (or key)
RegistryEntry * findLeaf(std::string_view path) const
Find identified leaf in this registry node.
RegistryEntry * findLeaf(const DataObject *key) const
Find identified leaf in this registry node.
long i_add(RegistryEntry *entry)
Internal method to add entries.
IRegistry * find(const IRegistry *obj) const
Try to find an object identified by its pointer.
Store::const_iterator Iterator
Iterator definition.
RegistryEntry * parentEntry()
Pointer to parent registry entry.
DataObject * object() const override
Retrive object behind the link.
std::string m_path
Path name.
bool isEmpty() const
Simple check if the Container is empty.
Iterator begin() const
Return starting point for container iteration.
IOpaqueAddress * m_pAddress
Pointer to opaque address (load info)
IOpaqueAddress * address() const override
Retrieve opaque storage address.
RegistryEntry(std::string path, RegistryEntry *parent=nullptr)
Standard Constructor.
const std::string & name() const override
Retrieve name of the entry.
Data provider interface definition.
Generic data agent interface.
Opaque address interface definition.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
This class is used for returning status codes from appropriate routines.