Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DbmModule.h

Go to the documentation of this file.
00001 // $Id: DbmModule.h,v 1.16 2005/10/14 07:00:00 west Exp $
00002 
00003 #ifndef DATABASEMAINTENANCE_H
00004 #define DATABASEMAINTENANCE_H
00005 
00006 // Dbm                                                                //
00007 //                                                                    //
00008 // Package: Dbm (Database Maintenance).                               //
00009 //                                                                    //
00010 // Driver module.                                                     //
00011 //                                                                    //
00012 // N. West  08/2001                                                   //
00014 
00015 #include <iosfwd>
00016 #include <list>
00017 #include <string>
00018 
00019 #include "DatabaseMaintenance/DbmFileLocater.h"
00020 #include "JobControl/JobCModule.h"
00021 
00022 class DbiCascader;
00023 class DbiDBProxy;
00024 class DbiValRecSet;
00025 class DbmLogFile;
00026 class DbmNameFilter;
00027 
00028 class DbmModule : public JobCModule 
00029 {
00030 public:
00031 
00032   friend class DbmValidate;  // To permit testing.
00033 
00034    DbmModule();
00035   ~DbmModule();
00036 
00037   // Interactive mode methods
00038   virtual void HandleCommand(JobCommand *command);
00039   virtual void Help();
00040 
00041 private:
00042 
00043            Bool_t ApplySQLFixup(UInt_t dbNo,
00044                                 ifstream& in, 
00045                                 DbmLogFile& logFile,
00046                                 Bool_t enabled);
00047            Bool_t BuildValRecSet(const std::string& tableName,UInt_t dbNo);
00048            Bool_t CheckMemory(JobCommand *cmd=0);
00049              void ClearCache();
00050            Bool_t ExportTables(JobCommand *cmd);
00051            Bool_t ExportTable(const std::string& tableName,
00052                               ofstream* out,
00053                               DbmLogFile& logFile,
00054                               std::list<int>seqnos);
00055 const DbiDBProxy& GetDBProxy(const std::string& tableName) const;
00056            Bool_t GlobaliseSeqNo(JobCommand *cmd);
00057            Bool_t GlobaliseSeqNo(const std::string& tableName);
00058            Bool_t Import(JobCommand *cmd);
00059            Bool_t LogEntry(JobCommand *cmd);
00060              void ListTables(const DbmNameFilter& nameFilter,
00061                              UInt_t dbNo,
00062                              std::list<string>& tableNames) const;
00063              Bool_t Query(JobCommand *cmd);
00064                void Quit() const;
00065                void SetLogLevel(JobCommand *cmd) const;
00066                void SetTimer(JobCommand *cmd) const;
00067 
00068    // Disable (not implemented) copy ctor and assignment
00069    // CINT produces bad code for these because DbiCascader copy ctor
00070    // is private  2002-06-12 rwh
00071    //DbmModule(const DbmModule&);
00072    DbmModule& operator=(const DbmModule&);
00073 
00074 
00075 // Data members
00076    DbiCascader& fCascader;    // The one and only cascader
00077   DbiValRecSet* fValRecSet;   // Cached copy of DbiValidityRec set
00078  DbmFileLocater fFileLocater; //File locater utility.
00079 
00080 ClassDef(DbmModule,0)     // Driver module.
00081 
00082 };
00083 
00084 #endif
00085 

Generated on Mon Feb 15 11:06:35 2010 for loon by  doxygen 1.3.9.1