1 #ifndef GAUDIKERNEL_LINKMANAGER_H 2 #define GAUDIKERNEL_LINKMANAGER_H 43 : m_path(
std::move(path)), m_pObject(pObject), m_id(id) {
55 return link.
m_path == m_path;
91 friend class MergeEventAlg;
110 static void setInstantiator(
LinkManager* (*newInstance)() );
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 const std::string & path() const
Access to path of object.
void setObject(const DataObject *pObject)
Update object pointer.
DirLinkType
Directory link types.
std::vector< Link * > m_linkVector
@ TODO: replace by std::vector<std::unique_ptr<Link>> once ROOT does 'automatic' schema conversion fr...
Link(long id, std::string path, DataObject *pObject=nullptr)
Standard constructor.
long ID() const
Link identifier.
const DataObject * object() const
Const access to data object.
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.
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...
std::string m_path
DataObject is a friend.
long size() const
Retrieve number of link present.