|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
#include <PoolDb/PoolDbAddress.h>


Public Member Functions | |
| PoolDbAddress (pool::Token *aToken) | |
| Full constructor: all arguments MUST be valid, no checks! | |
| virtual | ~PoolDbAddress () |
| Standard Destructor. | |
| pool::DataCallBack * | handler () const |
| Access to POOL data handler (if present). | |
| void | setHandler (pool::DataCallBack *h) |
| Set the POOL data handler; releases existing data handler. | |
| pool::Token * | token () |
| Cache handle to container object. | |
| bool | isValid () const |
| Check link for validity. | |
| virtual void | setRegistry (IRegistry *pReg) |
| Set pointer to directory. | |
Implementation of IOpaqueAddress interface | |
| virtual unsigned long | addRef () |
| Add reference to object. | |
| virtual unsigned long | release () |
| Release reference to object. | |
| const CLID & | clID () const |
| Retrieve class ID of the address. | |
| long | svcType () const |
| Access : retrieve the storage type of the class id. | |
| virtual const std::string * | par () const |
| Retrieve string parameters. | |
| virtual const unsigned long * | ipar () const |
| Retrieve integer parameters. | |
| virtual IRegistry * | registry () const |
| Pointer to directory. | |
Protected Attributes | |
| unsigned long | m_refCount |
| Reference count. | |
| IRegistry * | m_pRegistry |
| Pointer to corresponding directory. | |
| std::string | m_par [3] |
| String parameters to be accessed. | |
| unsigned long | m_ipar [2] |
| Integer (unsignod long) parameters to be accessed. | |
| pool::DataCallBack * | m_handler |
| Pointer to call handler. | |
| pool::Token * | m_token |
| Pointer to POOL token structure. | |
Definition of a transient link which is capable of locating an object in the persistent storage.
Definition at line 32 of file PoolDbAddress.h.
| PoolDbAddress::PoolDbAddress | ( | pool::Token * | aToken | ) |
Full constructor: all arguments MUST be valid, no checks!
Definition at line 25 of file PoolDbAddress.cpp.
00026 : m_refCount(0), m_pRegistry(0), m_handler(0), m_token(aToken) 00027 { 00028 s_count->increment(); 00029 if ( m_token ) { 00030 m_token->addRef(); 00031 return; 00032 } 00033 throw std::runtime_error("Invalid token (NULL) passed to PoolDbAddress"); 00034 }
| PoolDbAddress::~PoolDbAddress | ( | ) | [virtual] |
Standard Destructor.
Standard destructor.
Definition at line 37 of file PoolDbAddress.cpp.
00038 { 00039 pool::releasePtr(m_handler); 00040 s_count->decrement(); 00041 unsigned int cnt = m_token->release(); 00042 if ( cnt != 0 ) { 00043 if ( !(m_token->contID() == "/Event" || 00044 m_token->contID() == "/FileRecords" || 00045 m_token->contID() == "/RunRecords" || 00046 clID() == CLID_RowWiseTuple || 00047 clID() == CLID_ColumnWiseTuple ) ) { 00048 std::cout << "PoolDbAddress::~PoolDbAddress> Token: " << cnt 00049 << " " << m_token->dbID() << " :: " 00050 << m_token->contID() << std::endl 00051 << "Possible memory leak." << std::endl; 00052 } 00053 } 00054 }
| virtual unsigned long PoolDbAddress::addRef | ( | ) | [inline, virtual] |
Add reference to object.
Implements IOpaqueAddress.
Definition at line 56 of file PoolDbAddress.h.
00056 { return ++m_refCount; }
| unsigned long PoolDbAddress::release | ( | ) | [virtual] |
Release reference to object.
Implements IOpaqueAddress.
Definition at line 57 of file PoolDbAddress.cpp.
00058 { 00059 int cnt = --m_refCount; 00060 if ( 0 == cnt ) { 00061 delete this; 00062 } 00063 return cnt; 00064 }
| const CLID& PoolDbAddress::clID | ( | ) | const [inline, virtual] |
Retrieve class ID of the address.
Implements IOpaqueAddress.
Definition at line 60 of file PoolDbAddress.h.
| long PoolDbAddress::svcType | ( | ) | const [inline, virtual] |
Access : retrieve the storage type of the class id.
Implements IOpaqueAddress.
Definition at line 62 of file PoolDbAddress.h.
00062 { return m_token->technology(); }
| const std::string * PoolDbAddress::par | ( | ) | const [virtual] |
Retrieve string parameters.
Implements IOpaqueAddress.
Definition at line 67 of file PoolDbAddress.cpp.
00068 { 00069 m_par[0] = m_token->dbID(); 00070 m_par[1] = m_token->contID(); 00071 return m_par; 00072 }
| const unsigned long * PoolDbAddress::ipar | ( | ) | const [virtual] |
Retrieve integer parameters.
Retrieve string parameters.
Implements IOpaqueAddress.
Definition at line 75 of file PoolDbAddress.cpp.
00076 { 00077 m_ipar[0] = m_token->oid().first; 00078 m_ipar[1] = m_token->oid().second; 00079 return m_ipar; 00080 }
| virtual IRegistry* PoolDbAddress::registry | ( | ) | const [inline, virtual] |
Pointer to directory.
Implements IOpaqueAddress.
Definition at line 68 of file PoolDbAddress.h.
00068 { return m_pRegistry; }
| pool::DataCallBack* PoolDbAddress::handler | ( | ) | const [inline] |
Access to POOL data handler (if present).
Definition at line 72 of file PoolDbAddress.h.
00072 { return m_handler; }
| void PoolDbAddress::setHandler | ( | pool::DataCallBack * | h | ) |
Set the POOL data handler; releases existing data handler.
Definition at line 82 of file PoolDbAddress.cpp.
00083 { 00084 pool::releasePtr(m_handler); 00085 m_handler = h; 00086 }
| pool::Token* PoolDbAddress::token | ( | ) | [inline] |
Cache handle to container object.
Definition at line 76 of file PoolDbAddress.h.
00076 { return m_token; }
| bool PoolDbAddress::isValid | ( | ) | const |
Check link for validity.
Definition at line 88 of file PoolDbAddress.cpp.
00088 { 00089 const pool::Token::OID_t& oid = m_token->oid(); 00090 return oid.first != -1 && oid.second != -1; 00091 }
| virtual void PoolDbAddress::setRegistry | ( | IRegistry * | pReg | ) | [inline, virtual] |
Set pointer to directory.
Implements IOpaqueAddress.
Definition at line 80 of file PoolDbAddress.h.
00080 { m_pRegistry = pReg; }
unsigned long PoolDbAddress::m_refCount [protected] |
IRegistry* PoolDbAddress::m_pRegistry [protected] |
std::string PoolDbAddress::m_par[3] [mutable, protected] |
unsigned long PoolDbAddress::m_ipar[2] [mutable, protected] |
pool::DataCallBack* PoolDbAddress::m_handler [protected] |
pool::Token* PoolDbAddress::m_token [protected] |