![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Id: PoolDbAddress.h,v 1.4 2007/12/10 19:33:36 marcocle Exp $ 00002 //==================================================================== 00003 // PoolDbAddress.h 00004 //-------------------------------------------------------------------- 00005 // 00006 // Author : M.Frank 00007 //==================================================================== 00008 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiPoolDb/GaudiPoolDb/PoolDbAddress.h,v 1.4 2007/12/10 19:33:36 marcocle Exp $ 00009 #ifndef POOLDB_POOLDBADDRESS_H 00010 #define POOLDB_POOLDBADDRESS_H 00011 00012 // Framework include files 00013 #include "POOLCore/Token.h" 00014 #include "GaudiKernel/IOpaqueAddress.h" 00015 00016 // Forward declarations 00017 namespace pool { 00018 class DataCallBack; 00019 class Token; 00020 } 00021 00032 class PoolDbAddress : virtual public IOpaqueAddress { 00033 protected: 00035 unsigned long m_refCount; 00037 IRegistry* m_pRegistry; 00039 mutable std::string m_par[3]; 00041 mutable unsigned long m_ipar[2]; 00043 pool::DataCallBack* m_handler; 00045 pool::Token* m_token; 00046 00047 public: 00049 PoolDbAddress(pool::Token* aToken); 00051 virtual ~PoolDbAddress(); 00052 00055 00056 virtual unsigned long addRef() { return ++m_refCount; } 00058 virtual unsigned long release(); 00060 const CLID& clID() const { return *(CLID*)&m_token->classID().Data1;} 00062 long svcType() const { return m_token->technology(); } 00064 virtual const std::string* par() const; 00066 virtual const unsigned long* ipar() const; 00068 virtual IRegistry* registry() const { return m_pRegistry; } 00070 00072 pool::DataCallBack* handler() const { return m_handler; } 00074 void setHandler(pool::DataCallBack* h); 00076 pool::Token* token() { return m_token; } 00078 bool isValid() const; 00080 virtual void setRegistry(IRegistry* pReg) { m_pRegistry = pReg; } 00081 }; 00082 #endif // POOLDB_PoolDbAddress_H