/search.css" rel="stylesheet" type="text/css"/> /search.js">
| 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 
00091 // override virtual
00092        string GetDatabaseLayout();
00093 
00094 // State changing member functions
00095           void SetReason(const string& reason);
00096           void SetSiteMask(Int_t siteMask) { fLogSiteMask = siteMask; }
00097           void SetSimMask(Int_t simMask) { fLogSimMask = simMask; }
00098           void SetTask(Dbi::Task task) { fLogTask = task; }
00099           void SetSubSite(Dbi::SubSite subsite) { fLogSubSite = subsite; }
00100           void SetUpdateTime(const TimeStamp& updateTime) { 
00101                                          fUpdateTime = updateTime; }
00102           void Recreate (const string& tableName = "",
00103                          const string& reason = "",
00104                          Int_t siteMask = Site::FullMask(),
00105                          Int_t simMask = SimFlag::FullMask(),
00106                          Dbi::SubSite subsite = 0,
00107                          Dbi::Task task = 0,
00108                          Int_t logSeqNoMin = 0,
00109                          Int_t logSeqNoMax = 0,
00110                          Int_t logNumSeqNo = 0);
00111 
00112 // I/O  member functions
00113   virtual void Fill(DbiResultSet& rs,
00114                     const DbiValidityRec* vrec);
00115   virtual void Store(DbiOutRowStream& ors,
00116                     const DbiValidityRec* vrec) const;
00117   Bool_t Write(UInt_t dbNo,Int_t logSeqNo=0);
00118 
00119 private:  
00120 // Constructors and destructors.
00121   DbiLogEntry(const DbiLogEntry& from); // No!
00122 
00123   void SetServerName();
00124  
00125 // Data members 
00126 
00128   UInt_t fDbNo;           
00129 
00131   Int_t fSeqNo;           
00132 
00134   string fLogTableName;    
00135 
00137   Int_t fLogSiteMask;      
00138 
00140   Int_t fLogSimMask;      
00141 
00143   Dbi::SubSite fLogSubSite;     
00144 
00146   Dbi::Task fLogTask;     
00147 
00149   Int_t fLogSeqNoMin;     
00150 
00152   Int_t fLogSeqNoMax;     
00153 
00155   Int_t fLogNumSeqNo;     
00156 
00158   TimeStamp fUpdateTime;
00159 
00161   string fUserName;        
00162 
00164   string fProcessName;     
00165 
00167   string fHostName;        
00168 
00170   string fServerName;      
00171 
00173   string fReason;          
00174 
00175 
00176 // Note: fLogDetMask,fLogSimMask,fLogSubSite,fLogTask,fUpdateTime are used to construct the DbiValidityRec
00177 //       of the update; they are not store in main table.
00178 
00179 // Removed: ClassDef(DbiLogEntry,0)    // Configuration data. 
00180 
00181 };
00182 
00183 
00184 #endif  // DBILOGENTRY_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:56:45 for DatabaseInterface by doxygen 1.7.4