Gaudi Framework, version v21r6

Home   Generated: 11 Nov 2009

LinkManager::Link Class Reference

#include <LinkManager.h>

Collaboration diagram for LinkManager::Link:

Collaboration graph
[legend]

List of all members.


Detailed Description

Embedded class defining a symbolic link Note: No copy constructor; bitwise copy (done by the compiler) is just fine.

Definition at line 30 of file LinkManager.h.


Public Member Functions

 Link (long id, const std::string &path, const DataObject *pObject=0)
 Standard constructor.
 Link ()
 Standard constructor.
Linkoperator= (const Link &link)
 Equality operator: check pathes only.
virtual ~Link ()
 Default destructor.
void set (long id, const std::string &path, const DataObject *pObject)
 Update the link content.
bool operator== (const Link &link) const
 Equality operator: check paths only.
void setObject (const DataObject *pObject)
 Update object pointer.
DataObjectobject () const
 Const access to data object.
const std::stringpath () const
 Access to path of object.
long ID () const
 Link identifier.
virtual IOpaqueAddressaddress ()
 Access to the object's address.

Protected Attributes

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

Friends

class LinkManager
 DataObject is a friend.

Constructor & Destructor Documentation

LinkManager::Link::Link ( long  id,
const std::string path,
const DataObject pObject = 0 
) [inline]

Standard constructor.

Definition at line 42 of file LinkManager.h.

00043     : m_path(path), m_id(id) {
00044       setObject(pObject);
00045     }

LinkManager::Link::Link (  )  [inline]

Standard constructor.

Definition at line 47 of file LinkManager.h.

00047            : m_path(""), m_pObject(0), m_id(INVALID) {
00048     }

virtual LinkManager::Link::~Link (  )  [inline, virtual]

Default destructor.

Definition at line 57 of file LinkManager.h.

00057                     {
00058     }


Member Function Documentation

Link& LinkManager::Link::operator= ( const Link link  )  [inline]

Equality operator: check pathes only.

Definition at line 50 of file LinkManager.h.

00050                                        {
00051       setObject(link.m_pObject);
00052       m_path = link.m_path;
00053       m_id   = link.m_id;
00054       return *this;
00055     }

void LinkManager::Link::set ( long  id,
const std::string path,
const DataObject pObject 
) [inline]

Update the link content.

Definition at line 60 of file LinkManager.h.

00060                                                                           {
00061       setObject(pObject);
00062       m_path = path;
00063       m_id   = id;
00064     }

bool LinkManager::Link::operator== ( const Link link  )  const [inline]

Equality operator: check paths only.

Definition at line 66 of file LinkManager.h.

00066                                               {
00067       return link.m_path == m_path;
00068     }

void LinkManager::Link::setObject ( const DataObject pObject  )  [inline]

Update object pointer.

Definition at line 70 of file LinkManager.h.

00070                                                 {
00071       m_pObject = const_cast<DataObject*>(pObject);
00072     }

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

Const access to data object.

Definition at line 74 of file LinkManager.h.

00074                                  {
00075       return m_pObject;
00076     }

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

Access to path of object.

Definition at line 78 of file LinkManager.h.

00078                                       {
00079       return m_path;
00080     }

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

Link identifier.

Definition at line 82 of file LinkManager.h.

00082                         {
00083       return m_id;
00084     }

IOpaqueAddress * LinkManager::Link::address (  )  [virtual]

Access to the object's address.

Access to the object's address from the link.

Definition at line 11 of file LinkManager.cpp.

00011                                          {
00012   if ( 0 != m_pObject )   {
00013     IRegistry* pReg = m_pObject->registry();
00014     if ( 0 != pReg )    {
00015       return pReg->address();
00016     }
00017   }
00018   return 0;
00019 }


Friends And Related Function Documentation

friend class LinkManager [friend]

DataObject is a friend.

Definition at line 32 of file LinkManager.h.


Member Data Documentation

String containing path of symbolic link.

Definition at line 35 of file LinkManager.h.

Pointer to object behind the link.

Definition at line 37 of file LinkManager.h.

long LinkManager::Link::m_id [protected]

Link ID.

Definition at line 39 of file LinkManager.h.


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

Generated at Wed Nov 11 16:34:06 2009 for Gaudi Framework, version v21r6 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004