1 #ifndef GAUDIKERNEL_LINKMANAGER_H
2 #define GAUDIKERNEL_LINKMANAGER_H
43 : m_path(path), m_id(id) {
67 return link.
m_path == m_path;
78 const std::string&
path()
const {
115 Link*
link(
const std::string&
path);
121 long removeLink(
const std::string& fullPath)
const;
127 #endif // GAUDIKERNEL_LINKMANAGER_H
const std::string & path() const
Access to path of object.
Link & operator=(const Link &link)
Equality operator: check pathes only.
LinkVector::const_iterator ConstLinkIterator
Data type: iterator over leaf links (CONST)
virtual ~Link()
Default destructor.
Link(long id, const std::string &path, const DataObject *pObject=0)
Standard constructor.
long addLink(const std::string &path, const DataObject *pObject) const
Add link by object reference and path.
LinkVector m_linkVector
The vector containing all links which are non-tree like.
LinkVector::iterator LinkIterator
Data type: iterator over leaf links.
void set(long id, const std::string &path, const DataObject *pObject)
Update the link content.
static void setInstantiator(LinkManager *(*newInstance)())
Assign new instantiator.
std::vector< Link * > LinkVector
void setObject(const DataObject *pObject)
Update object pointer.
DirLinkType
Directory link types.
void clearLinks()
Remove all possibly existing symbolic links.
Link * link(long id)
Retrieve symbolic link identified by ID.
static LinkManager * newInstance()
Static instantiation.
Link()
Standard constructor.
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
long removeLink(const DataObject *pObject) const
Remove link by object reference.
long ID() const
Link identifier.
Embedded class defining a symbolic link Note: No copy constructor; bitwise copy (done by the compiler...
bool operator==(const Link &link) const
Equality operator: check paths only.
Opaque address interface definition.
LinkManager()
Standard Constructor.
A DataObject is the base class of any identifiable object on any data store.
DataObject * m_pObject
Pointer to object behind the link.
A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of no...
virtual ~LinkManager()
Standard Destructor.
DataObject * object() const
Const access to data object.
std::string m_path
String containing path of symbolic link.
long size() const
Retrieve number of link present.