00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiDb/GaudiDb/IDataBaseMgr.h,v 1.1.1.1 2001/04/18 21:13:34 tlindner Exp $ 00002 #ifndef GAUDIDB_IDATABASEMGR_H 00003 #define GAUDIDB_IDATABASEMGR_H 00004 00005 // C/C++ include files 00006 #include <string> 00007 00008 // Framework include files 00009 #include "GaudiKernel/IInterface.h" 00010 #include "GaudiDb/DbDataBase.h" 00011 #include "GaudiDb/DbObject.h" 00012 #include "GaudiDb/DbIter.h" 00013 00014 // Forward declarations 00015 class DbObject; 00016 class DbDataBase; 00017 template <class T> class dbIter; 00018 template <class T> class dbHandle; 00019 00020 // Declaration of the interface ID ( interface id, major version, minor version) 00021 static const InterfaceID IID_IDataBaseMgr(110, 1 , 0); 00022 00037 class IDataBaseMgr : virtual public IInterface { 00038 public: 00040 static const InterfaceID& interfaceID() { return IID_IDataBaseMgr; } 00042 virtual dbHandle<DbSession>& defaultSessionHdl() = 0; 00044 virtual dbHandle<DbFederation>& defaultFederationHdl() = 0; 00046 virtual dbHandle<DbDataBase>& defaultDbHdl() = 0; 00048 virtual IOODataBase* implementation() = 0; 00055 virtual dbIter<DbObject>* createIterator(const std::string& dbName, const std::string& cntName, DbAccessMode mode = DbOOMs::READ) = 0; 00056 }; 00057 00058 #endif // DBCNV_IDATABASEMGR_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000