The Gaudi Framework  v30r3 (a5ef0a68)
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...
 
unsigned long addRef () override
 Add reference to object. More...
 
unsigned long release () override
 release reference to object More...
 
IRegistryregistry () const override
 Pointer to directory. More...
 
void setRegistry (IRegistry *pRegistry) override
 Set pointer to directory. More...
 
const CLIDclID () 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::stringpar () 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...
 
IRegistrym_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.

Member Function Documentation

unsigned long GenericAddress::addRef ( )
inlineoverridevirtual

Add reference to object.

Implements IOpaqueAddress.

Definition at line 60 of file GenericAddress.h.

60 { 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 73 of file GenericAddress.h.

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

Retrieve integer parameters.

Implements IOpaqueAddress.

Definition at line 83 of file GenericAddress.h.

83 { 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 81 of file GenericAddress.h.

81 { 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 69 of file GenericAddress.h.

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

release reference to object

Implements IOpaqueAddress.

Definition at line 62 of file GenericAddress.h.

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

Access : Set class ID of the link.

Definition at line 75 of file GenericAddress.h.

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

Set pointer to directory.

Implements IOpaqueAddress.

Definition at line 71 of file GenericAddress.h.

71 { 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 79 of file GenericAddress.h.

79 { 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 77 of file GenericAddress.h.

77 { 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: