The Gaudi Framework  master (37c0b60a)
GenericAddress Class Reference

#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...
 
GenericAddressoperator= (const GenericAddress &copy)=default
 
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 30 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 49 of file GenericAddress.h.

50  : IOpaqueAddress( copy ), m_svcType( copy.m_svcType ), m_clID( copy.m_clID ), m_pRegistry( copy.m_pRegistry ) {
51  m_par[0] = copy.m_par[0];
52  m_par[1] = copy.m_par[1];
53  m_ipar[0] = copy.m_ipar[0];
54  m_ipar[1] = copy.m_ipar[1];
55  }

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

59  : m_svcType( svc ), m_clID( clid ) {
60  m_par[0] = std::move( p1 );
61  m_par[1] = std::move( p2 );
62  m_ipar[0] = ip1;
63  m_ipar[1] = ip2;
64  }

Member Function Documentation

◆ addRef()

unsigned long GenericAddress::addRef ( )
inlineoverridevirtual

Add reference to object.

Implements IOpaqueAddress.

Definition at line 69 of file GenericAddress.h.

69 { return ++m_refCount; }

◆ clID()

const CLID& GenericAddress::clID ( ) const
inlineoverridevirtual

Access : Retrieve class ID of the link.

Implements IOpaqueAddress.

Definition at line 81 of file GenericAddress.h.

81 { return m_clID; }

◆ ipar()

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

Retrieve integer parameters.

Implements IOpaqueAddress.

Definition at line 91 of file GenericAddress.h.

91 { return m_ipar; }

◆ operator=()

GenericAddress& GenericAddress::operator= ( const GenericAddress copy)
default

◆ par()

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

Retrieve string parameters.

Implements IOpaqueAddress.

Definition at line 89 of file GenericAddress.h.

89 { return m_par; }

◆ registry()

IRegistry* GenericAddress::registry ( ) const
inlineoverridevirtual

Pointer to directory.

Implements IOpaqueAddress.

Definition at line 77 of file GenericAddress.h.

77 { return m_pRegistry; }

◆ release()

unsigned long GenericAddress::release ( )
inlineoverridevirtual

release reference to object

Implements IOpaqueAddress.

Definition at line 71 of file GenericAddress.h.

71  {
72  unsigned long cnt = --m_refCount;
73  if ( 0 == cnt ) delete this;
74  return cnt;
75  }

◆ setClID()

void GenericAddress::setClID ( const CLID clid)
inline

Access : Set class ID of the link.

Definition at line 83 of file GenericAddress.h.

83 { m_clID = clid; }

◆ setRegistry()

void GenericAddress::setRegistry ( IRegistry pRegistry)
inlineoverridevirtual

Set pointer to directory.

Implements IOpaqueAddress.

Definition at line 79 of file GenericAddress.h.

79 { m_pRegistry = pRegistry; }

◆ setSvcType()

void GenericAddress::setSvcType ( long  typ)
inline

Access : set the storage type of the class id.

Definition at line 87 of file GenericAddress.h.

87 { m_svcType = typ; }

◆ svcType()

long GenericAddress::svcType ( ) const
inlineoverridevirtual

Access : retrieve the storage type of the class id.

Implements IOpaqueAddress.

Definition at line 85 of file GenericAddress.h.

85 { return m_svcType; }

Member Data Documentation

◆ m_clID

CLID GenericAddress::m_clID = 0
protected

Class id.

Definition at line 37 of file GenericAddress.h.

◆ m_ipar

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

Integer parameters to be accessed.

Definition at line 41 of file GenericAddress.h.

◆ m_par

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

String parameters to be accessed.

Definition at line 39 of file GenericAddress.h.

◆ m_pRegistry

IRegistry* GenericAddress::m_pRegistry = nullptr
protected

Pointer to corresponding directory.

Definition at line 43 of file GenericAddress.h.

◆ m_refCount

unsigned long GenericAddress::m_refCount = 0
protected

Reference count.

Definition at line 33 of file GenericAddress.h.

◆ m_svcType

long GenericAddress::m_svcType = 0
protected

Storage type.

Definition at line 35 of file GenericAddress.h.


The documentation for this class was generated from the following file:
GenericAddress::m_par
std::string m_par[3]
String parameters to be accessed.
Definition: GenericAddress.h:39
std::move
T move(T... args)
AlgSequencer.p2
p2
Definition: AlgSequencer.py:30
IOpaqueAddress
Definition: IOpaqueAddress.h:33
GenericAddress::m_ipar
unsigned long m_ipar[2]
Integer parameters to be accessed.
Definition: GenericAddress.h:41
GenericAddress::m_pRegistry
IRegistry * m_pRegistry
Pointer to corresponding directory.
Definition: GenericAddress.h:43
GenericAddress::m_refCount
unsigned long m_refCount
Reference count.
Definition: GenericAddress.h:33
AlgSequencer.p1
p1
Definition: AlgSequencer.py:29
std::copy
T copy(T... args)
GenericAddress::m_clID
CLID m_clID
Class id.
Definition: GenericAddress.h:37
GenericAddress::m_svcType
long m_svcType
Storage type.
Definition: GenericAddress.h:35