00001
00002
00003 #ifndef DBITIMERMANAGER
00004 #define DBITIMERMANAGER
00005
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019 #include <string>
00020 #include <list>
00021
00022 using std::string;
00023 using std::list;
00024
00025 class DbiTableMetaData;
00026 class DbiTimer;
00027
00028 class DbiTimerManager
00029 {
00030
00031 public:
00032
00033
00034 DbiTimerManager();
00035 virtual ~DbiTimerManager();
00036
00037
00038
00039
00040 void Enable(Bool_t flag=kTRUE,
00041 Bool_t enableSubWatch = kFALSE) { fEnabled = flag;
00042 fSubWatchEnabled = enableSubWatch;}
00043 void RecBegin(string tableName, UInt_t rowSize);
00044 void RecEnd(UInt_t numRows);
00045 void RecFillAgg(Int_t aggNo);
00046 void RecMainQuery();
00047 void StartSubWatch(UInt_t subWatch);
00048
00049
00050
00051 static DbiTimerManager gTimerManager;
00052
00053 private:
00054
00055 DbiTimer* GetCurrent();
00056 DbiTimer* Pop();
00057 DbiTimer* Push();
00058
00059
00060
00061 Bool_t fEnabled;
00062 Bool_t fSubWatchEnabled;
00063
00064 list<DbiTimer*> fTimers;
00065
00066 ClassDef(DbiTimerManager,0)
00067
00068 };
00069
00070
00071 #endif // DBITIMERMANAGER
00072