| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

LinkManager Class Reference

A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of non-tree like links. More...

#include <GaudiKernel/LinkManager.h>

List of all members.


Public Types

typedef std::vector< Link * > LinkVector
typedef LinkVector::iterator LinkIterator
 Data type: iterator over leaf links.
typedef LinkVector::const_iterator ConstLinkIterator
 Data type: iterator over leaf links (CONST).
 INVALID
 VALID
enum  DirLinkType { INVALID, VALID }
 Directory link types. More...

Public Member Functions

 LinkManager ()
 Standard Constructor.
virtual ~LinkManager ()
 Standard Destructor.
long size () const
 Retrieve number of link present.
Linklink (long id)
 Retrieve symbolic link identified by ID.
Linklink (const DataObject *pObject)
 Retrieve symbolic link identified by object.
Linklink (const std::string &path)
 Retrieve symbolic link identified by path.
long addLink (const std::string &path, const DataObject *pObject) const
 Add link by object reference and path.
long removeLink (const DataObject *pObject) const
 Remove link by object reference.
long removeLink (const std::string &fullPath) const
 Remove link by object reference.
long removeLink (long id) const
 Remove link by link ID.
void clearLinks ()
 Remove all possibly existing symbolic links.

Static Public Member Functions

static LinkManagernewInstance ()
 Static instantiation.
static void setInstantiator (LinkManager *(*newInstance)())
 Assign new instantiator.

Public Attributes

LinkVector m_linkVector
 The vector containing all links which are non-tree like.

Classes

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

Detailed Description

A LinkManager is the object aggregated into a DataObject, which is responsible for the handling of non-tree like links.

Author:
M.Frank

Definition at line 18 of file LinkManager.h.


Member Typedef Documentation

typedef std::vector<Link*> LinkManager::LinkVector

Definition at line 86 of file LinkManager.h.

typedef LinkVector::iterator LinkManager::LinkIterator

Data type: iterator over leaf links.

Definition at line 88 of file LinkManager.h.

typedef LinkVector::const_iterator LinkManager::ConstLinkIterator

Data type: iterator over leaf links (CONST).

Definition at line 90 of file LinkManager.h.


Member Enumeration Documentation

enum LinkManager::DirLinkType

Directory link types.

Enumerator:
INVALID 
VALID 

Definition at line 22 of file LinkManager.h.

00022 {INVALID, VALID};


Constructor & Destructor Documentation

LinkManager::LinkManager (  ) 

Standard Constructor.

virtual LinkManager::~LinkManager (  )  [virtual]

Standard Destructor.


Member Function Documentation

static LinkManager* LinkManager::newInstance (  )  [static]

Static instantiation.

static void LinkManager::setInstantiator ( LinkManager *(*)()  newInstance  )  [static]

Assign new instantiator.

long LinkManager::size (  )  const [inline]

Retrieve number of link present.

Definition at line 105 of file LinkManager.h.

00105                         {
00106     return m_linkVector.size();
00107   }

Link* LinkManager::link ( long  id  ) 

Retrieve symbolic link identified by ID.

Link* LinkManager::link ( const DataObject pObject  ) 

Retrieve symbolic link identified by object.

Link* LinkManager::link ( const std::string &  path  ) 

Retrieve symbolic link identified by path.

long LinkManager::addLink ( const std::string &  path,
const DataObject pObject 
) const

Add link by object reference and path.

long LinkManager::removeLink ( const DataObject pObject  )  const

Remove link by object reference.

long LinkManager::removeLink ( const std::string &  fullPath  )  const

Remove link by object reference.

long LinkManager::removeLink ( long  id  )  const

Remove link by link ID.

void LinkManager::clearLinks (  ) 

Remove all possibly existing symbolic links.


Member Data Documentation

LinkVector LinkManager::m_linkVector [mutable]

The vector containing all links which are non-tree like.

Definition at line 93 of file LinkManager.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:12 2011 for GaudiKernel by doxygen 1.4.7