Gaudi Framework, version v21r9

Home   Generated: 3 May 2010

LinkManager::Link Class Reference

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

#include <LinkManager.h>

Collaboration diagram for LinkManager::Link:

Collaboration graph
[legend]

List of all members.

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.


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.


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.

Link ID.

Definition at line 39 of file LinkManager.h.


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

Generated at Mon May 3 12:25:35 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004