Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

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

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 }

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

Link identifier.

Definition at line 82 of file LinkManager.h.

00082                         {
00083       return m_id;
00084     }

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     }

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     }

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     }

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     }

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     }

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     }


Friends And Related Function Documentation

friend class LinkManager [friend]

DataObject is a friend.

Definition at line 32 of file LinkManager.h.


Member Data Documentation

Link ID.

Definition at line 39 of file LinkManager.h.

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:31:19 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004