| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# PoolDbCacheSvc.h

Go to the documentation of this file.

    00001 // $Id: PoolDbCacheSvc.h,v 1.10 2008/01/30 13:49:09 marcocle Exp $
    00002 //====================================================================
    00003 //      PoolCacheMgr.h
    00004 //--------------------------------------------------------------------
    00005 //
    00006 //      Author     : M.Frank
    00007 //====================================================================
    00008 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiPoolDb/GaudiPoolDb/PoolDbCacheSvc.h,v 1.10 2008/01/30 13:49:09 marcocle Exp $
    00009 #ifndef POOLDB_POOLDBCACHESVC_H
    00010 #define POOLDB_POOLDBCACHESVC_H
    00011
    00012 // Framework include files
    00013 #include "StorageSvc/DbOptionCallback.h"
    00014 #include "StorageSvc/DbSession.h"
    00015 #include "GaudiPoolDb/IPoolCacheSvc.h"
    00016 #include "GaudiKernel/Service.h"
    00017 #include "GaudiKernel/System.h"
    00018
    00019 // STL include files
    00020 #include <vector>
    00021
    00032 class GAUDI_API PoolDbCacheSvc : public extends1<Service, IPoolCacheSvc>,
    00033                                  public pool::DbOptionCallback
    00034 {
    00035
    00036 protected:
    00038   pool::DbSession          m_session;
    00039
    00041   pool::DbOptionCallback*  m_callbackHandler;
    00042
    00044   std::vector<std::string> m_dlls;
    00045
    00047   std::vector<std::string> m_domainOpts;
    00048
    00050   std::vector<std::string> m_databaseOpts;
    00051
    00053   std::vector<std::string> m_databaseOpenOpts;
    00054
    00056   std::vector<std::string> m_containerOpts;
    00057
    00059   std::vector<std::string> m_containerOpenOpts;
    00060
    00062   std::vector<System::ImageHandle>  m_sharedHdls;
    00063
    00064 protected:
    00065
    00067   StatusCode loadLibraries();
    00068
    00069 public:
    00071   PoolDbCacheSvc(const std::string& name, ISvcLocator* svc);
    00072
    00074   virtual ~PoolDbCacheSvc();
    00075
    00077   virtual StatusCode initialize();
    00078
    00080   virtual StatusCode finalize();
    00081
    00085   virtual pool::DbSession& session()    {
    00086     return m_session;
    00087   }
    00088
    00090
    00094   virtual StatusCode loadDictionary(const std::string& name);
    00095
    00099   virtual pool::DbOptionCallback* callbackHandler() const  {
    00100     return m_callbackHandler;
    00101   }
    00102
    00104
    00110   virtual pool::DbStatus setMyOptions(pool::IDbOptionProxy* pObj,
    00111                                       pool::DbOptionCallback::OptionType typ,
    00112                                       const std::string& name);
    00113
    00115
    00120   virtual pool::DbStatus setCallbackOptions(pool::IDbOptionProxy* pObj,
    00121                                             const std::vector<std::string>& v,
    00122                                             const std::string& name);
    00123 };
    00124
    00125 #endif  // POOLDB_POOLDBCACHESVC_H