|
Gaudi Framework, version v22r0 |
| Home | Generated: 9 Feb 2011 |
Description:. More...
#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. | |
Description:.
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 m_ipar[0]=m_ipar[1]=0; 00030 if ( m_token ) { 00031 m_token->addRef(); 00032 return; 00033 } 00034 throw std::runtime_error("Invalid token (NULL) passed to PoolDbAddress"); 00035 }
| PoolDbAddress::~PoolDbAddress | ( | ) | [virtual] |
Standard Destructor.
Standard destructor.
Definition at line 38 of file PoolDbAddress.cpp.
00039 { 00040 pool::releasePtr(m_handler); 00041 s_count->decrement(); 00042 unsigned int cnt = m_token->release(); 00043 if ( cnt != 0 ) { 00044 if ( !(m_token->contID() == "/Event" || 00045 m_token->contID() == "/FileRecords" || 00046 m_token->contID() == "/RunRecords" || 00047 clID() == CLID_RowWiseTuple || 00048 clID() == CLID_ColumnWiseTuple ) ) { 00049 std::cout << "PoolDbAddress::~PoolDbAddress> Token: " << cnt 00050 << " " << m_token->dbID() << " :: " 00051 << m_token->contID() << std::endl 00052 << "Possible memory leak." << std::endl; 00053 } 00054 } 00055 }
| 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; }
| const CLID& PoolDbAddress::clID | ( | ) | const [inline, virtual] |
Retrieve class ID of the address.
Implements IOpaqueAddress.
Definition at line 60 of file PoolDbAddress.h.
| 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; }
| const unsigned long * PoolDbAddress::ipar | ( | ) | const [virtual] |
Retrieve integer parameters.
Retrieve string parameters.
Implements IOpaqueAddress.
Definition at line 76 of file PoolDbAddress.cpp.
| bool PoolDbAddress::isValid | ( | ) | const |
Check link for validity.
Definition at line 89 of file PoolDbAddress.cpp.
00089 { 00090 const pool::Token::OID_t& oid = m_token->oid(); 00091 return oid.first != -1 && oid.second != -1; 00092 }
| const std::string * PoolDbAddress::par | ( | ) | const [virtual] |
Retrieve string parameters.
Implements IOpaqueAddress.
Definition at line 68 of file PoolDbAddress.cpp.
| virtual IRegistry* PoolDbAddress::registry | ( | ) | const [inline, virtual] |
Pointer to directory.
Implements IOpaqueAddress.
Definition at line 68 of file PoolDbAddress.h.
00068 { return m_pRegistry; }
| unsigned long PoolDbAddress::release | ( | ) | [virtual] |
Release reference to object.
Implements IOpaqueAddress.
Definition at line 58 of file PoolDbAddress.cpp.
00059 { 00060 int cnt = --m_refCount; 00061 if ( 0 == cnt ) { 00062 delete this; 00063 } 00064 return cnt; 00065 }
| void PoolDbAddress::setHandler | ( | pool::DataCallBack * | h | ) |
Set the POOL data handler; releases existing data handler.
Definition at line 83 of file PoolDbAddress.cpp.
| 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; }
| 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(); }
| pool::Token* PoolDbAddress::token | ( | ) | [inline] |
Cache handle to container object.
Definition at line 76 of file PoolDbAddress.h.
00076 { return m_token; }
pool::DataCallBack* PoolDbAddress::m_handler [protected] |
Pointer to call handler.
Definition at line 43 of file PoolDbAddress.h.
unsigned long PoolDbAddress::m_ipar[2] [mutable, protected] |
Integer (unsignod long) parameters to be accessed.
Definition at line 41 of file PoolDbAddress.h.
std::string PoolDbAddress::m_par[3] [mutable, protected] |
String parameters to be accessed.
Definition at line 39 of file PoolDbAddress.h.
IRegistry* PoolDbAddress::m_pRegistry [protected] |
Pointer to corresponding directory.
Definition at line 37 of file PoolDbAddress.h.
unsigned long PoolDbAddress::m_refCount [protected] |
Reference count.
Definition at line 35 of file PoolDbAddress.h.
pool::Token* PoolDbAddress::m_token [protected] |
Pointer to POOL token structure.
Definition at line 45 of file PoolDbAddress.h.