The Gaudi Framework  v30r0 (c919700c)
GenericAddress Class Reference

Generic Transient Address. More...

#include <GaudiKernel/GenericAddress.h>

Inheritance diagram for GenericAddress:
Collaboration diagram for GenericAddress:

Public Member Functions

 GenericAddress ()=default
 Dummy constructor. More...
 
 GenericAddress (const GenericAddress &copy)
 Standard Copy Constructor (note: m_refCount is NOT copied) More...
 
 GenericAddress (long svc, const CLID &clid, std::string p1="", std::string p2="", unsigned long ip1=0, unsigned long ip2=0)
 Standard Constructor. More...
 
 ~GenericAddress () override=default
 Standard Destructor. More...
 
unsigned long addRef () override
 Add reference to object. More...
 
unsigned long release () override
 release reference to object More...
 
IRegistry * registry () const override
 Pointer to directory. More...
 
void setRegistry (IRegistry *pRegistry) override
 Set pointer to directory. More...
 
const CLID & clID () const override
 Access : Retrieve class ID of the link. More...
 
void setClID (const CLID &clid)
 Access : Set class ID of the link. More...
 
long svcType () const override
 Access : retrieve the storage type of the class id. More...
 
void setSvcType (long typ)
 Access : set the storage type of the class id. More...
 
const std::string * par () const override
 Retrieve string parameters. More...
 
const unsigned long * ipar () const override
 Retrieve integer parameters. More...
 
- Public Member Functions inherited from IOpaqueAddress
virtual ~IOpaqueAddress ()=default
 destructor More...
 

Protected Attributes

unsigned long m_refCount = 0
 Reference count. More...
 
long m_svcType = 0
 Storage type. More...
 
CLID m_clID = 0
 Class id. More...
 
std::string m_par [3]
 String parameters to be accessed. More...
 
unsigned long m_ipar [2] = {0xFFFFFFFF, 0xFFFFFFFF}
 Integer parameters to be accessed. More...
 
IRegistry * m_pRegistry = nullptr
 Pointer to corresponding directory. More...
 

Detailed Description

Generic Transient Address.

The generic transient address describes the recipe to load/save a persistent object from/to its transient representation.

Author
Markus Frank
Version
1.0

Definition at line 20 of file GenericAddress.h.

Constructor & Destructor Documentation

GenericAddress::GenericAddress ( )
default

Dummy constructor.

GenericAddress::GenericAddress ( const GenericAddress &  copy)
inline

Standard Copy Constructor (note: m_refCount is NOT copied)

Definition at line 40 of file GenericAddress.h.

41  : IOpaqueAddress( copy ), m_svcType( copy.m_svcType ), m_clID( copy.m_clID ), m_pRegistry( copy.m_pRegistry )
42  {
43  m_par[0] = copy.m_par[0];
44  m_par[1] = copy.m_par[1];
45  m_ipar[0] = copy.m_ipar[0];
46  m_ipar[1] = copy.m_ipar[1];
47  }
unsigned long m_ipar[2]
Integer parameters to be accessed.
long m_svcType
Storage type.
IRegistry * m_pRegistry
Pointer to corresponding directory.
std::string m_par[3]
String parameters to be accessed.
CLID m_clID
Class id.
Opaque address interface definition.
GenericAddress::GenericAddress ( long  svc,
const CLID &  clid,
std::string  p1 = "",
std::string  p2 = "",
unsigned long  ip1 = 0,
unsigned long  ip2 = 0 
)
inline

Standard Constructor.

Definition at line 49 of file GenericAddress.h.

51  : m_svcType( svc ), m_clID( clid )
52  {
53  m_par[0] = std::move( p1 );
54  m_par[1] = std::move( p2 );
55  m_ipar[0] = ip1;
56  m_ipar[1] = ip2;
57  }
unsigned long m_ipar[2]
Integer parameters to be accessed.
long m_svcType
Storage type.
std::string m_par[3]
String parameters to be accessed.
T move(T...args)
CLID m_clID
Class id.
GenericAddress::~GenericAddress ( )
overridedefault

Standard Destructor.

Member Function Documentation

unsigned long GenericAddress::addRef ( )
inlineoverridevirtual

Add reference to object.

Implements IOpaqueAddress.

Definition at line 63 of file GenericAddress.h.

63 { return ++m_refCount; }
unsigned long m_refCount
Reference count.
const CLID& GenericAddress::clID ( ) const
inlineoverridevirtual

Access : Retrieve class ID of the link.

Implements IOpaqueAddress.

Definition at line 76 of file GenericAddress.h.

76 { return m_clID; }
CLID m_clID
Class id.
const unsigned long* GenericAddress::ipar ( ) const
inlineoverridevirtual

Retrieve integer parameters.

Implements IOpaqueAddress.

Definition at line 86 of file GenericAddress.h.

86 { return m_ipar; }
unsigned long m_ipar[2]
Integer parameters to be accessed.
const std::string* GenericAddress::par ( ) const
inlineoverridevirtual

Retrieve string parameters.

Implements IOpaqueAddress.

Definition at line 84 of file GenericAddress.h.

84 { return m_par; }
std::string m_par[3]
String parameters to be accessed.
IRegistry* GenericAddress::registry ( ) const
inlineoverridevirtual

Pointer to directory.

Implements IOpaqueAddress.

Definition at line 72 of file GenericAddress.h.

72 { return m_pRegistry; }
IRegistry * m_pRegistry
Pointer to corresponding directory.
unsigned long GenericAddress::release ( )
inlineoverridevirtual

release reference to object

Implements IOpaqueAddress.

Definition at line 65 of file GenericAddress.h.

66  {
67  int cnt = --m_refCount;
68  if ( 0 == cnt ) delete this;
69  return cnt;
70  }
unsigned long m_refCount
Reference count.
void GenericAddress::setClID ( const CLID &  clid)
inline

Access : Set class ID of the link.

Definition at line 78 of file GenericAddress.h.

78 { m_clID = clid; }
CLID m_clID
Class id.
void GenericAddress::setRegistry ( IRegistry *  pRegistry)
inlineoverridevirtual

Set pointer to directory.

Implements IOpaqueAddress.

Definition at line 74 of file GenericAddress.h.

74 { m_pRegistry = pRegistry; }
IRegistry * m_pRegistry
Pointer to corresponding directory.
void GenericAddress::setSvcType ( long  typ)
inline

Access : set the storage type of the class id.

Definition at line 82 of file GenericAddress.h.

82 { m_svcType = typ; }
long m_svcType
Storage type.
long GenericAddress::svcType ( ) const
inlineoverridevirtual

Access : retrieve the storage type of the class id.

Implements IOpaqueAddress.

Definition at line 80 of file GenericAddress.h.

80 { return m_svcType; }
long m_svcType
Storage type.

Member Data Documentation

CLID GenericAddress::m_clID = 0
protected

Class id.

Definition at line 28 of file GenericAddress.h.

unsigned long GenericAddress::m_ipar[2] = {0xFFFFFFFF, 0xFFFFFFFF}
protected

Integer parameters to be accessed.

Definition at line 32 of file GenericAddress.h.

std::string GenericAddress::m_par[3]
protected

String parameters to be accessed.

Definition at line 30 of file GenericAddress.h.

IRegistry* GenericAddress::m_pRegistry = nullptr
protected

Pointer to corresponding directory.

Definition at line 34 of file GenericAddress.h.

unsigned long GenericAddress::m_refCount = 0
protected

Reference count.

Definition at line 24 of file GenericAddress.h.

long GenericAddress::m_svcType = 0
protected

Storage type.

Definition at line 26 of file GenericAddress.h.


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