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

DbOOMs.h

Go to the documentation of this file.
00001 //====================================================================
00002 //      DbOOMs definition file
00003 //--------------------------------------------------------------------
00004 //
00005 //      Package    : System ( The LHCb Offline System)
00006 //
00007 //  Description: Management of the object databases
00008 //
00009 //      Author     : M.Frank
00010 //====================================================================
00011 #ifndef DBCNV_DBOOMS_H
00012 #define DBCNV_DBOOMS_H 1
00013 
00014 #ifdef _WIN32  
00015 // warning C4786:  : identifier was truncated to '255' characters in the debug information
00016 #pragma warning ( disable : 4786 )
00017 #endif
00018 
00019 // STL include files
00020 #include <string>
00021 
00022 // Gaudi declarations
00023 class IMessageSvc;
00024 class IOODataBase;
00025 class DbDataBaseMgr;
00026 
00027 // Type defintions and forward declarations
00028 typedef long                  DbResult;
00029 typedef long                  DbAccessMode;
00030 // Data declarations
00031 class                         IDbSession;
00032 class                         IDbFederation;
00033 class                         IDbDataBase;
00034 class                         IDbContainer;
00035 class                         DbTypeInfo;
00036 class                         DbObject;
00037 class                         DbLink;
00038 class                         DbSession;
00039 class                         DbFederation;
00040 class                         DbDataBase;
00041 class                         DbContainer;
00042 class                         DbPersistent;
00043 template <class T> class      dbHandle;
00044 template <class T> class      dbHandleBase;
00045 //template <> class             dbHandle<DbSession>;
00046 //template <> class             dbHandle<DbFederation>;
00047 //template <> class             dbHandle<DbDataBase>;
00048 //template <> class             dbHandle<DbContainer>;
00049 //template <> class             dbHandle<DbObject>;
00050 //template <> class             dbHandle<DbLink>;
00051 
00072 class DbOOMs    {
00073 public:
00074   // The one and only one instantiator for this class
00075   friend DbDataBaseMgr;
00076   typedef DbOOMs* (*Accessor)(void);
00077 private:
00079   //IOODataBase**   m_dataBase;
00081   //IMessageSvc*    m_messageSvc;
00082 
00084   DbOOMs();
00086   virtual ~DbOOMs();
00087 protected:
00089   // void setInstance(Accessor func);
00090 public:
00092   enum AccessMode { 
00093     READ = 1, 
00094     UPDATE = 2, 
00095     CREATE = 4, 
00096     NOT_OPEN = 8 
00097   };
00098   enum Result { 
00099     DbSuccess     = 1,
00100     DbError       = 0,
00101     DbNoError     = DbSuccess,
00102     DbWarning     = 2,
00103     DbUserError   = 4,
00104     DbSystemError = 6,
00105     DbFatalError  = 8,
00106     DbDbgLevel    = DbFatalError
00107   };
00108 /*
00109   static const DbAccessMode CREATE;
00111   static const DbAccessMode READ;
00113   static const DbAccessMode UPDATE;
00114   static const DbAccessMode NOT_OPEN;
00115   static       DbResult     DbDbgLevel;
00116   static const DbResult     DbSuccess;
00117   static const DbResult     DbError;
00118   static const DbResult     DbNoError;
00119   static const DbResult     DbWarning;
00120   static const DbResult     DbUserError;
00121   static const DbResult     DbSystemError;
00122   static const DbResult     DbFatalError;
00123 */
00125   //static IOODataBase* instance(unsigned char typ);
00127   static const char* accessMode(DbAccessMode mode)   {
00128     if      ( mode & DbOOMs::READ      ) return "READ     ";
00129     else if ( mode & DbOOMs::UPDATE && mode & DbOOMs::CREATE ) return "CREA/UPDA";
00130     else if ( mode & DbOOMs::UPDATE    ) return "UPDATE   ";
00131     else if ( mode & DbOOMs::CREATE    ) return "CREATE   ";
00132     //else if ( mode == DbOOMs::READWRITE ) return "READWRITE";
00133     else if ( mode & DbOOMs::NOT_OPEN  ) return "NOT_OPEN ";
00134     else                                 return "UNKNOWN  ";
00135   }
00137   // static IMessageSvc* messageSvc();
00139   // const char* dbType(unsigned char typ);
00141   // static DbResult shutdown(unsigned char typ);
00143   // static DbResult attachDataBase(IOODataBase* impl);
00144 };
00145 
00146 #endif  // DBCNV_DBOOMS_H

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