CMS 3D CMS Logo

PoolConnectionProxy.h

Go to the documentation of this file.
00001 #ifndef CondCore_DBCommon_PoolConnectionProxy_H
00002 #define CondCore_DBCommon_PoolConnectionProxy_H
00003 #include "CondCore/DBCommon/interface/IConnectionProxy.h"
00004 #include "ITransactionObserver.h"
00005 #include <string>
00006 //
00007 // Package:     DBCommon
00008 // Class  :     PoolConnectionProxy
00009 // 
00013 //
00014 // Author:      Zhen Xie
00015 //
00016 namespace pool{
00017   class IDataSvc;
00018   class IFileCatalog;
00019 }
00020 namespace cond{
00021   class ITransaction;
00022   class PoolTransaction;
00023   class PoolConnectionProxy : public IConnectionProxy, 
00024     public ITransactionObserver{
00025     public:
00026     PoolConnectionProxy(coral::IConnectionService* connectionServiceHandle,
00027                         const std::string& con,
00028                         int connectionTimeOut,
00029                         int idleConnectionCleanupPeriod);
00030     ~PoolConnectionProxy();
00032     ITransaction&  transaction();
00033     //bool isActive() const;
00034     //bool isReadOnly() const;
00035     //int connectionTimeOut() const;
00036     //std::string connectStr() const;
00037     pool::IDataSvc* poolDataSvc();
00039     void reactOnStartOfTransaction( const ITransaction* );
00040     void reactOnEndOfTransaction( const ITransaction* );    
00041     private:
00042     void connect();
00043     void disconnect();
00044     private:
00045     pool::IDataSvc* m_datasvc;
00046     cond::ITransaction* m_transaction;
00047     //std::string m_con;
00048     unsigned int m_transactionCounter;
00049     //int m_connectionTimeOut;
00050     //boost::timer m_timer;
00051     pool::IFileCatalog* m_catalog;
00052   };
00053 }
00054 #endif

Generated on Tue Jun 9 17:26:06 2009 for CMSSW by  doxygen 1.5.4