1 #ifndef GAUDIKERNEL_LINKMANAGER_H
2 #define GAUDIKERNEL_LINKMANAGER_H
9 #include "GaudiKernel/Kernel.h"
25 enum DirLinkType {
INVALID, VALID};
43 : m_path(
std::move(path)), m_pObject(pObject), m_id(id) {
50 m_path = std::move(path);
55 return link.m_path == m_path;
69 const std::string&
path()
const {
91 friend class MergeEventAlg;
100 mutable std::vector<Link*> m_linkVector;
110 static void setInstantiator(
LinkManager* (*newInstance)() );
112 long size()
const {
return m_linkVector.size(); }
113 bool empty()
const {
return m_linkVector.empty(); }
119 Link* link(
const std::string&
path);
121 long addLink(
const std::string&
path,
const DataObject* pObject)
const;
123 long removeLink(
const DataObject* pObject)
const;
125 long removeLink(
const std::string& fullPath)
const;
127 long removeLink(
long id)
const;
131 #endif // GAUDIKERNEL_LINKMANAGER_H
bool operator==(const GaudiUtils::Allocator< T1 > &, const GaudiUtils::Allocator< T2 > &)
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of no...