The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
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.
 
 GenericAddress (const GenericAddress &copy)
 Standard Copy Constructor (note: m_refCount is NOT copied)
 
 GenericAddress (long svc, const CLID &clid, std::string p1="", std::string p2="", unsigned long ip1=0, unsigned long ip2=0)
 Standard Constructor.
 
GenericAddressoperator= (const GenericAddress &copy)=default
 
unsigned long addRef () override
 Add reference to object.
 
unsigned long release () override
 release reference to object
 
IRegistryregistry () const override
 Pointer to directory.
 
void setRegistry (IRegistry *pRegistry) override
 Set pointer to directory.
 
const CLIDclID () const override
 Access : Retrieve class ID of the link.
 
void setClID (const CLID &clid)
 Access : Set class ID of the link.
 
long svcType () const override
 Access : retrieve the storage type of the class id.
 
void setSvcType (long typ)
 Access : set the storage type of the class id.
 
const std::string * par () const override
 Retrieve string parameters.
 
const unsigned long * ipar () const override
 Retrieve integer parameters.
 
- Public Member Functions inherited from IOpaqueAddress
virtual ~IOpaqueAddress ()=default
 

Protected Attributes

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

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

47 : IOpaqueAddress( copy ), m_svcType( copy.m_svcType ), m_clID( copy.m_clID ), m_pRegistry( copy.m_pRegistry ) {
48 m_par[0] = copy.m_par[0];
49 m_par[1] = copy.m_par[1];
50 m_ipar[0] = copy.m_ipar[0];
51 m_ipar[1] = copy.m_ipar[1];
52 }
std::string m_par[3]
String parameters to be accessed.
IRegistry * m_pRegistry
Pointer to corresponding directory.
CLID m_clID
Class id.
long m_svcType
Storage type.
unsigned long m_ipar[2]
Integer parameters to be accessed.

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

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

Member Function Documentation

◆ addRef()

unsigned long GenericAddress::addRef ( )
inlineoverridevirtual

Add reference to object.

Implements IOpaqueAddress.

Definition at line 66 of file GenericAddress.h.

66{ 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 78 of file GenericAddress.h.

78{ return m_clID; }

◆ ipar()

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

Retrieve integer parameters.

Implements IOpaqueAddress.

Definition at line 88 of file GenericAddress.h.

88{ 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 86 of file GenericAddress.h.

86{ return m_par; }

◆ registry()

IRegistry * GenericAddress::registry ( ) const
inlineoverridevirtual

Pointer to directory.

Implements IOpaqueAddress.

Definition at line 74 of file GenericAddress.h.

74{ return m_pRegistry; }

◆ release()

unsigned long GenericAddress::release ( )
inlineoverridevirtual

release reference to object

Implements IOpaqueAddress.

Definition at line 68 of file GenericAddress.h.

68 {
69 unsigned long cnt = --m_refCount;
70 if ( 0 == cnt ) delete this;
71 return cnt;
72 }

◆ setClID()

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

Access : Set class ID of the link.

Definition at line 80 of file GenericAddress.h.

80{ m_clID = clid; }

◆ setRegistry()

void GenericAddress::setRegistry ( IRegistry * pRegistry)
inlineoverridevirtual

Set pointer to directory.

Implements IOpaqueAddress.

Definition at line 76 of file GenericAddress.h.

76{ m_pRegistry = pRegistry; }

◆ setSvcType()

void GenericAddress::setSvcType ( long typ)
inline

Access : set the storage type of the class id.

Definition at line 84 of file GenericAddress.h.

84{ m_svcType = typ; }

◆ svcType()

long GenericAddress::svcType ( ) const
inlineoverridevirtual

Access : retrieve the storage type of the class id.

Implements IOpaqueAddress.

Definition at line 82 of file GenericAddress.h.

82{ return m_svcType; }

Member Data Documentation

◆ m_clID

CLID GenericAddress::m_clID = 0
protected

Class id.

Definition at line 34 of file GenericAddress.h.

◆ m_ipar

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

Integer parameters to be accessed.

Definition at line 38 of file GenericAddress.h.

38{ 0xFFFFFFFF, 0xFFFFFFFF };

◆ m_par

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

String parameters to be accessed.

Definition at line 36 of file GenericAddress.h.

◆ m_pRegistry

IRegistry* GenericAddress::m_pRegistry = nullptr
protected

Pointer to corresponding directory.

Definition at line 40 of file GenericAddress.h.

◆ m_refCount

unsigned long GenericAddress::m_refCount = 0
protected

Reference count.

Definition at line 30 of file GenericAddress.h.

◆ m_svcType

long GenericAddress::m_svcType = 0
protected

Storage type.

Definition at line 32 of file GenericAddress.h.


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