| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# PoolDbAddress.h

Go to the documentation of this file.

    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 GAUDI_API 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