1 #ifndef GAUDIKERNEL_LINKMANAGER_H 2 #define GAUDIKERNEL_LINKMANAGER_H 46 : m_path(
std::move( path ) ), m_pObject( pObject ), m_id( id )
68 long ID()
const {
return m_id; }
84 friend class MergeEventAlg;
103 static void setInstantiator(
LinkManager* ( *newInstance )() );
108 Link* link(
long id );
116 long removeLink(
const DataObject* pObject )
const;
118 long removeLink(
const std::string& fullPath )
const;
120 long removeLink(
long id )
const;
124 #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.