Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

IPoolDbMgr.h

Go to the documentation of this file.
00001 // $Id: IPoolDbMgr.h,v 1.7 2008/02/21 18:01:54 hmd Exp $
00002 //====================================================================
00003 //      IPoolDbMgr.h
00004 //--------------------------------------------------------------------
00005 //
00006 //      Author     : M.Frank
00007 //====================================================================
00008 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiPoolDb/GaudiPoolDb/IPoolDbMgr.h,v 1.7 2008/02/21 18:01:54 hmd Exp $
00009 #ifndef POOLDB_IPOOLDBMGR_H
00010 #define POOLDB_IPOOLDBMGR_H
00011 
00012 // C/C++ include files
00013 #include <string>
00014 
00015 // Framework include files
00016 #include "GaudiKernel/IInterface.h"
00017 #include "GaudiKernel/ClassID.h"
00018 #include "GaudiUtils/IIODataManager.h"
00019 #include "StorageSvc/DbContainer.h"
00020 
00021 // Forward declarations
00022 class DataObject;
00023 class PoolDbAddress;
00024 class IOpaqueAddress;
00025 class ContainedObject;
00026 class IPoolCacheSvc;
00027 
00028 namespace pool {
00029   class DataCallBack;
00030   class DbSelect;
00031   class DbType;
00032   class Token;
00033   class Guid;
00034 }
00035 namespace seal {
00036   namespace reflex {
00037     class Type;
00038   }
00039 }
00040 
00051 class GAUDI_API IPoolDbMgr: virtual public IInterface {
00052 public:
00054   DeclareInterfaceID(IPoolDbMgr,2,0);
00055 
00056   enum { UNKNOWN = Gaudi::IIODataManager::UNKNOWN,
00057          PFN = Gaudi::IIODataManager::PFN,
00058          LFN = Gaudi::IIODataManager::LFN,
00059          FID = Gaudi::IIODataManager::FID
00060   };
00061   enum { BAD_DATA_CONNECTION=Gaudi::IDataConnection::BAD_DATA_CONNECTION };
00062 
00064   virtual IPoolCacheSvc* cacheSvc() const = 0;
00065 
00075   virtual StatusCode accessStorageType(const std::string& type_string,
00076                                        long& gaudi_type) = 0;
00077 
00093   virtual StatusCode createAddress(long                 svc_type,
00094                                    const CLID&          clid,
00095                                    const std::string*   par,
00096                                    const unsigned long* ipar,
00097                                    IOpaqueAddress*&     refpAddress) = 0;
00098 
00107   virtual StatusCode createAddress(pool::Token*       pToken,
00108                                    PoolDbAddress**    ppAddress) = 0;
00115   virtual StatusCode connectOutput(const std::string& outputFile,
00116                                    const std::string& openMode) = 0;
00117 
00127   virtual StatusCode commitOutput( const std::string& outputFile,
00128                                    bool               do_commit) = 0;
00129 
00138   virtual StatusCode connect(const std::string& dbName,
00139                              const std::string& cntName,
00140                              pool::DbContainer& cntH) = 0;
00141 
00153   virtual StatusCode connectContainer(int typ,
00154                                       const std::string& dbName,
00155                                       const std::string& cntName,
00156                                       pool::DbAccessMode openMode,
00157                                       const pool::DbTypeInfo* shape,
00158                                       pool::DbContainer& cntH
00159                                       )=0;
00160 
00168   virtual pool::DbSelect* createSelect(const std::string& criteria,
00169                                        const std::string& dbName,
00170                                        const std::string& cntName) = 0;
00171 
00177   virtual StatusCode disconnect(   const std::string&  dbName) = 0;
00178 
00187   virtual StatusCode markWrite(     pool::DataCallBack* call,
00188                                     const std::string& cntName,
00189                                     PoolDbAddress**    ppAddr=0) = 0;
00190 
00197   virtual StatusCode markUpdate(    pool::DataCallBack* call,
00198                                     PoolDbAddress*     pAddr) = 0;
00199 
00206   virtual StatusCode read(          pool::DataCallBack* call,
00207                                     PoolDbAddress*     pAddr) = 0;
00208 
00210 
00215   virtual StatusCode read(          pool::DataCallBack* call,
00216                                     pool::Token& tok) = 0;
00217 };
00218 
00219 #endif  // POOLDB_IPOOLDBMGR_H

Generated at Wed Mar 17 18:06:37 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004