| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DbiLogEntry.h

Go to the documentation of this file.
00001 #ifndef DBILOGENTRY_H
00002 #define DBILOGENTRY_H
00003 
00025 #include <string>
00026 using std::string;
00027 #include <iosfwd>
00028 
00029 #include "TObject.h"
00030 
00031 #include "Conventions/Site.h"
00032 #include "Conventions/SimFlag.h"
00033 #include "DatabaseInterface/DbiTableRow.h"
00034 #include "DatabaseInterface/Dbi.h"
00035 #include "Context/TimeStamp.h"
00036 
00037 
00038 class DbiLogEntry;
00039 class DbiOutRowStream;
00040 class DbiResultSet;
00041 class DbiTableProxy;
00042 class DbiValidityRec;
00043 
00044 std::ostream& operator<<(std::ostream& s, const DbiLogEntry& logEntry);
00045 
00046 class DbiLogEntry : public DbiTableRow
00047 {
00048 
00049 public:
00050 
00051   //using TObject::Write;
00052 
00053 // Constructors and destructors.
00054   DbiLogEntry(const string& tableName = "",
00055               const string& reason = "",
00056               Int_t siteMask = Site::FullMask(),
00057               Int_t simMask = SimFlag::FullMask(),
00058               Dbi::SubSite subsite = 0,
00059               Dbi::Task task = 0,
00060               Int_t logSeqNoMin = 0,
00061               Int_t logSeqNoMax = 0,
00062               Int_t logNumSeqNo = 0);
00063   virtual ~DbiLogEntry();
00064 
00065 // State testing member functions.
00066 
00067 // Inherited responsibilities.
00068   virtual DbiTableRow* CreateTableRow() const { 
00069                                               return new DbiLogEntry; }
00070          Int_t GetAggregateNo() const { return -1; }
00071 
00072 // New member functions.
00073  const string& GetLogTableName() const { return fLogTableName; }
00074          Int_t GetSiteMask() const { return fLogSiteMask; }
00075          Int_t GetLogSeqNoMin() const { return fLogSeqNoMin; }
00076          Int_t GetLogSeqNoMax() const { return fLogSeqNoMax; }
00077          Int_t GetLogNumSeqNo() const { return fLogNumSeqNo; }
00078          Int_t GetSimMask() const { return fLogSimMask; }
00079   Dbi::SubSite GetSubSite() const { return fLogSubSite; }
00080      Dbi::Task GetTask() const { return fLogTask; }
00081  const string& GetUserName() const { return fUserName; }
00082  const string& GetProcessName() const { return fProcessName; }
00083  const string& GetHostName() const { return fHostName; }
00084  const string& GetServerName() const { return fServerName; }
00085  const string& GetReason() const { return fReason; }
00086    TimeStamp GetUpdateTime() const { return fUpdateTime; }
00087 
00088         Bool_t HasReason() const { return fReason.size() > 0; }
00089 
00090 // override virtual
00091        string GetDatabaseLayout();
00092 
00093 // State changing member functions
00094           void SetReason(const string& reason);
00095           void SetSiteMask(Int_t siteMask) { fLogSiteMask = siteMask; }
00096           void SetSimMask(Int_t simMask) { fLogSimMask = simMask; }
00097           void SetTask(Dbi::Task task) { fLogTask = task; }
00098           void SetSubSite(Dbi::SubSite subsite) { fLogSubSite = subsite; }
00099           void SetUpdateTime(const TimeStamp& updateTime) { 
00100                                          fUpdateTime = updateTime; }
00101           void Recreate (const string& tableName = "",
00102                          const string& reason = "",
00103                          Int_t siteMask = Site::FullMask(),
00104                          Int_t simMask = SimFlag::FullMask(),
00105                          Dbi::SubSite subsite = 0,
00106                          Dbi::Task task = 0,
00107                          Int_t logSeqNoMin = 0,
00108                          Int_t logSeqNoMax = 0,
00109                          Int_t logNumSeqNo = 0);
00110 
00111 // I/O  member functions
00112   virtual void Fill(DbiResultSet& rs,
00113                     const DbiValidityRec* vrec);
00114   virtual void Store(DbiOutRowStream& ors,
00115                     const DbiValidityRec* vrec) const;
00116   Bool_t Write(UInt_t dbNo,Int_t logSeqNo=0);
00117 
00118 private:  
00119 // Constructors and destructors.
00120   DbiLogEntry(const DbiLogEntry& from); // No!
00121 
00122   void SetServerName();
00123  
00124 // Data members 
00125 
00127   UInt_t fDbNo;           
00128 
00130   Int_t fSeqNo;           
00131 
00133   string fLogTableName;    
00134 
00136   Int_t fLogSiteMask;      
00137 
00139   Int_t fLogSimMask;      
00140 
00142   Dbi::SubSite fLogSubSite;     
00143 
00145   Dbi::Task fLogTask;     
00146 
00148   Int_t fLogSeqNoMin;     
00149 
00151   Int_t fLogSeqNoMax;     
00152 
00154   Int_t fLogNumSeqNo;     
00155 
00157   TimeStamp fUpdateTime;
00158 
00160   string fUserName;        
00161 
00163   string fProcessName;     
00164 
00166   string fHostName;        
00167 
00169   string fServerName;      
00170 
00172   string fReason;          
00173 
00174 
00175 // Note: fLogDetMask,fLogSimMask,fLogSubSite,fLogTask,fUpdateTime are used to construct the DbiValidityRec
00176 //       of the update; they are not store in main table.
00177 
00178 // Removed: ClassDef(DbiLogEntry,0)    // Configuration data. 
00179 
00180 };
00181 
00182 
00183 #endif  // DBILOGENTRY_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:15:46 2011 for DatabaseInterface by doxygen 1.4.7