The Gaudi Framework  v32r1 (f65d50dc)
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...
 
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() [1/3]

GenericAddress::GenericAddress ( )
default

Dummy constructor.

◆ GenericAddress() [2/3]

GenericAddress::GenericAddress ( const GenericAddress &  copy)
inline

Standard Copy Constructor (note: m_refCount is NOT copied)

Definition at line 39 of file GenericAddress.h.

40  : IOpaqueAddress( copy ), m_svcType( copy.m_svcType ), m_clID( copy.m_clID ), m_pRegistry( copy.m_pRegistry ) {
41  m_par[0] = copy.m_par[0];
42  m_par[1] = copy.m_par[1];
43  m_ipar[0] = copy.m_ipar[0];
44  m_ipar[1] = copy.m_ipar[1];
45  }
unsigned long m_ipar[2]
Integer parameters to be accessed.
long m_svcType
Storage type.
T copy(T... args)
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() [3/3]

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 47 of file GenericAddress.h.

49  : m_svcType( svc ), m_clID( clid ) {
50  m_par[0] = std::move( p1 );
51  m_par[1] = std::move( p2 );
52  m_ipar[0] = ip1;
53  m_ipar[1] = ip2;
54  }
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

◆ addRef()

unsigned long GenericAddress::addRef ( )
inlineoverridevirtual

Add reference to object.

Implements IOpaqueAddress.

Definition at line 57 of file GenericAddress.h.

57 { return ++m_refCount; }
unsigned long m_refCount
Reference count.

◆ clID()

const CLID& GenericAddress::clID ( ) const
inlineoverridevirtual

Access : Retrieve class ID of the link.

Implements IOpaqueAddress.

Definition at line 69 of file GenericAddress.h.

69 { return m_clID; }
CLID m_clID
Class id.

◆ ipar()

const unsigned long* GenericAddress::ipar ( ) const
inlineoverridevirtual

Retrieve integer parameters.

Implements IOpaqueAddress.

Definition at line 79 of file GenericAddress.h.

79 { return m_ipar; }
unsigned long m_ipar[2]
Integer parameters to be accessed.

◆ par()

const std::string* GenericAddress::par ( ) const
inlineoverridevirtual

Retrieve string parameters.

Implements IOpaqueAddress.

Definition at line 77 of file GenericAddress.h.

77 { return m_par; }
std::string m_par[3]
String parameters to be accessed.

◆ registry()

IRegistry* GenericAddress::registry ( ) const
inlineoverridevirtual

Pointer to directory.

Implements IOpaqueAddress.

Definition at line 65 of file GenericAddress.h.

65 { return m_pRegistry; }
IRegistry * m_pRegistry
Pointer to corresponding directory.

◆ release()

unsigned long GenericAddress::release ( )
inlineoverridevirtual

release reference to object

Implements IOpaqueAddress.

Definition at line 59 of file GenericAddress.h.

59  {
60  int cnt = --m_refCount;
61  if ( 0 == cnt ) delete this;
62  return cnt;
63  }
unsigned long m_refCount
Reference count.

◆ setClID()

void GenericAddress::setClID ( const CLID &  clid)
inline

Access : Set class ID of the link.

Definition at line 71 of file GenericAddress.h.

71 { m_clID = clid; }
CLID m_clID
Class id.

◆ setRegistry()

void GenericAddress::setRegistry ( IRegistry *  pRegistry)
inlineoverridevirtual

Set pointer to directory.

Implements IOpaqueAddress.

Definition at line 67 of file GenericAddress.h.

67 { m_pRegistry = pRegistry; }
IRegistry * m_pRegistry
Pointer to corresponding directory.

◆ setSvcType()

void GenericAddress::setSvcType ( long  typ)
inline

Access : set the storage type of the class id.

Definition at line 75 of file GenericAddress.h.

75 { m_svcType = typ; }
long m_svcType
Storage type.

◆ svcType()

long GenericAddress::svcType ( ) const
inlineoverridevirtual

Access : retrieve the storage type of the class id.

Implements IOpaqueAddress.

Definition at line 73 of file GenericAddress.h.

73 { return m_svcType; }
long m_svcType
Storage type.

Member Data Documentation

◆ m_clID

CLID GenericAddress::m_clID = 0
protected

Class id.

Definition at line 27 of file GenericAddress.h.

◆ m_ipar

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

Integer parameters to be accessed.

Definition at line 31 of file GenericAddress.h.

◆ m_par

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

String parameters to be accessed.

Definition at line 29 of file GenericAddress.h.

◆ m_pRegistry

IRegistry* GenericAddress::m_pRegistry = nullptr
protected

Pointer to corresponding directory.

Definition at line 33 of file GenericAddress.h.

◆ m_refCount

unsigned long GenericAddress::m_refCount = 0
protected

Reference count.

Definition at line 23 of file GenericAddress.h.

◆ m_svcType

long GenericAddress::m_svcType = 0
protected

Storage type.

Definition at line 25 of file GenericAddress.h.


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