1 #ifndef GAUDIKERNEL_REGISTRYENTRY_H
2 #define GAUDIKERNEL_REGISTRYENTRY_H
8 #include "GaudiKernel/Kernel.h"
9 #include "GaudiKernel/IRegistry.h"
10 #include <boost/utility/string_ref.hpp>
37 typedef std::vector<IRegistry*>
Store;
39 friend class ::DataSvc;
44 unsigned long m_refCount = 0;
46 bool m_isSoft =
false;
68 void assemblePath(std::string& buffer)
const;
84 m_pDataProviderSvc =
s;
112 unsigned long release()
override;
118 const std::string&
name()
const override {
127 return m_pDataProviderSvc;
151 return m_store.size();
155 return m_store.size() == 0;
159 return m_store.begin();
162 virtual Iterator
end ()
const {
163 return m_store.end();
179 virtual long add(
const std::string&
name,
181 bool is_soft =
false);
183 virtual long add(
const std::string&
name,
185 bool is_soft =
false);
187 virtual long remove(
const std::string&
name);
193 virtual long deleteElements();
198 #endif // GAUDIKERNEL_REGISTRYENTRY_H
IDataProviderSvc * dataSvc() const override
Retrieve pointer to Transient Store.
RegistryEntry * findLeaf(boost::string_ref path) const
Find identified leaf in this registry node.
unsigned long addRef() override
IInterface implementation: Dereference the object.
RegistryEntry * findLeaf(const DataObject *key) const
Find identified leaf in this registry node.
std::vector< IRegistry * > Store
Definition of datastore type.
const Store & leaves() const
Access the leaves of the object.
Data provider interface definition.
virtual RegistryEntry * parentEntry()
Pointer to parent registry entry.
std::string m_fullpath
String containing full path of the object (volatile)
virtual bool isSoft() const
Is the link soft or hard.
IOpaqueAddress * address() const override
Retrieve opaque storage address.
const std::string & name() const override
Retrieve name of the entry.
virtual Iterator begin() const
Return starting point for container iteration.
void setDataSvc(IDataProviderSvc *s)
Set the transient data store.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
const std::string & identifier() const override
Full identifier (or key)
virtual bool isEmpty() const
Simple check if the Container is empty.
Store::const_iterator Iterator
Iterator definition.
Definition of an entry in the transient data store.
virtual IRegistry * find(const std::string &path) const
Try to find an object identified by its relative name to the directory.
DataObject * object() const override
Retrive object behind the link.
virtual IRegistry * parent() const
Pointer to parent directory entry.
Generic data agent interface.
virtual int size() const
Return the size of the container(=number of objects)
Store m_store
Store of leaves.
std::string m_path
Path name.
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
virtual IRegistry * find(const IRegistry *obj) const
Try to find an object identified by its pointer.
virtual Iterator end() const
Return end elemtn if the container.