Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

DbSession.h

Go to the documentation of this file.
00001 //====================================================================
00002 //      DbSession class definition
00003 //--------------------------------------------------------------------
00004 //
00005 //      Package    : DbCnv ( The LHCb Offline System)
00006 //
00007 //  Description: Definiiton of a database session and related classes
00008 //
00009 //      Author     : M.Frank
00010 //====================================================================
00011 #ifndef DBCNV_DBSESSION_H
00012 #define DBCNV_DBSESSION_H
00013 
00014 // Framework include files
00015 #ifndef DBCNV_DBBASE_H
00016 #include "GaudiDb/DbBase.h"
00017 #endif // DBCNV_DBBASE_H
00018 
00019 #ifndef DBCNV_DBFEDERATION_H
00020 #include "GaudiDb/DbFederation.h"
00021 #endif // DBCNV_DBFEDERATION_H
00022 
00023 // Forward declarations
00024 class DbSession;
00025 class DbFederation;
00026 class DbSessionImpl;
00027 class IDbSession;
00028 class IOODataBase;
00029 template <class T> class dbHandle;
00030 template <> class dbHandle<DbSession>;
00031 
00053 template <> class dbHandle<DbSession> : public dbHandleBase<DbSession>    {
00054 public:
00056   friend class DbSession;
00057   friend class DbSessionImplementation;
00058 private:
00060   mutable DbAccessMode m_mode;
00061 private:
00063   void switchPtr(_DataType* obj)  const;
00065   IDbSession* info()  const;
00067   dbHandle(DbSession* session);
00068 public:
00070   dbHandle(unsigned char type);
00072   dbHandle(const dbHandle<DbSession>& copy);
00074   virtual ~dbHandle();
00076   dbHandle& operator=(const dbHandle<DbSession>& copy);
00078   DbAccessMode openMode()   const;
00080   const char* typeName()    const;
00082   DbResult open(IOODataBase* db, IMessageSvc* msg, DbAccessMode mode);
00084   DbResult close()   const;
00086   DbResult add(const std::string& name, DbFederation* fed)  const;
00088   DbFederation* find(const std::string& name)  const;
00090   DbResult remove(DbFederation* fed);
00092   IOODataBase* db();
00094   IMessageSvc* msgSvc();
00095 };
00096 #endif // DBCNV_DBSESSION_H

Generated at Wed Nov 21 12:22:20 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000