The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
LinkManager::Link Class Referencefinal

Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generated one is just fine. More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/LinkManager.h>

Collaboration diagram for LinkManager::Link:

Public Member Functions

 Link (long id, std::string path, DataObject *pObject=nullptr)
 Standard constructor.
 
 Link ()=default
 Standard constructor for Root I/O.
 
bool operator== (const Link &link) const
 Equality operator: check paths only.
 
void setObject (const DataObject *pObject)
 Update object pointer.
 
const DataObjectobject () const
 Const access to data object.
 
DataObjectobject ()
 
const std::string & path () const
 Access to path of object.
 
long ID () const
 Link identifier.
 
IOpaqueAddressaddress ()
 Access to the object's address.
 

Private Attributes

std::string m_path
 String containing path of symbolic link.
 
DataObjectm_pObject = nullptr
 Pointer to object behind the link.
 
long m_id = INVALID
 Link ID.
 

Detailed Description

Embedded class defining a symbolic link Note: No explicit copy constructor; implicit compiler generated one is just fine.

Definition at line 38 of file LinkManager.h.

Constructor & Destructor Documentation

◆ Link() [1/2]

LinkManager::Link::Link ( long id,
std::string path,
DataObject * pObject = nullptr )
inline

Standard constructor.

Definition at line 48 of file LinkManager.h.

49 : m_path( std::move( path ) ), m_pObject( pObject ), m_id( id ) {}

◆ Link() [2/2]

LinkManager::Link::Link ( )
default

Standard constructor for Root I/O.

Member Function Documentation

◆ address()

IOpaqueAddress * LinkManager::Link::address ( )

Access to the object's address.

Access to the object's address from the link.

Definition at line 31 of file LinkManager.cpp.

31 {
32 if ( m_pObject ) {
33 IRegistry* pReg = m_pObject->registry();
34 if ( pReg ) return pReg->address();
35 }
36 return nullptr;
37}
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.

◆ ID()

long LinkManager::Link::ID ( ) const
inline

Link identifier.

Definition at line 62 of file LinkManager.h.

62{ return m_id; }

◆ object() [1/2]

DataObject * LinkManager::Link::object ( )
inline

Definition at line 58 of file LinkManager.h.

58{ return m_pObject; }

◆ object() [2/2]

const DataObject * LinkManager::Link::object ( ) const
inline

Const access to data object.

Definition at line 57 of file LinkManager.h.

57{ return m_pObject; }

◆ operator==()

bool LinkManager::Link::operator== ( const Link & link) const
inline

Equality operator: check paths only.

Definition at line 53 of file LinkManager.h.

53{ return link.m_path == m_path; }

◆ path()

const std::string & LinkManager::Link::path ( ) const
inline

Access to path of object.

Definition at line 60 of file LinkManager.h.

60{ return m_path; }

◆ setObject()

void LinkManager::Link::setObject ( const DataObject * pObject)
inline

Update object pointer.

Definition at line 55 of file LinkManager.h.

55{ m_pObject = const_cast<DataObject*>( pObject ); }

Member Data Documentation

◆ m_id

long LinkManager::Link::m_id = INVALID
private

Link ID.

Definition at line 44 of file LinkManager.h.

◆ m_path

std::string LinkManager::Link::m_path
private

String containing path of symbolic link.

Definition at line 40 of file LinkManager.h.

◆ m_pObject

DataObject* LinkManager::Link::m_pObject = nullptr
private

Pointer to object behind the link.

Definition at line 42 of file LinkManager.h.


The documentation for this class was generated from the following files: