/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DBIRESULTKEY 00002 #define DBIRESULTKEY 00003 00023 #include <list> 00024 #include <iosfwd> 00025 #include <string> 00026 00027 #include "TObject.h" 00028 00029 #include "Context/TimeStamp.h" 00030 00031 class DbiResultKey; 00032 std::ostream& operator<<(std::ostream& os, const DbiResultKey& key); 00033 00034 class DbiResultKey : public TObject 00035 { 00036 00037 public: 00038 00039 using TObject::Compare; 00040 00041 // Constructors and destructors. 00042 DbiResultKey(const DbiResultKey* that = 0); 00043 DbiResultKey(std::string tableName, 00044 std::string rowName, 00045 UInt_t seqno, 00046 TimeStamp ts); 00047 virtual ~DbiResultKey(); 00048 00049 // State testing member functions 00050 std::string AsString() const; 00051 Float_t Compare(const DbiResultKey* that) const; 00052 static const DbiResultKey* 00053 GetEmptyKey() { return &fgEmptyKey; } 00054 Int_t GetNumVrecs() const { return fNumVRecKeys; } 00055 std::string GetSeqNoList() const; 00056 std::string GetTableRowName() const; 00057 Bool_t IsEqualTo(const DbiResultKey* that) const { 00058 return this->Compare(that) == 1.; } 00059 00060 // State changing member functions 00061 00062 void AddVRecKey(UInt_t seqno, TimeStamp ts); 00063 00064 // push this put to the public: portion so that rootcint dict compiles 00065 struct VRecKey { 00066 VRecKey() : SeqNo(0), VersionDate() {} 00067 VRecKey(UInt_t seqno, TimeStamp ts) : SeqNo(seqno), VersionDate(ts) {} 00068 UInt_t SeqNo; 00069 TimeStamp VersionDate; 00070 }; 00071 00072 private: 00073 00074 static DbiResultKey fgEmptyKey; 00075 00076 // Data members 00077 00079 std::string fTableName; 00080 00082 std::string fRowName; 00083 00085 std::list<DbiResultKey::VRecKey> fVRecKeys; 00086 00088 Int_t fNumVRecKeys; 00089 00090 // Removed: ClassDef(DbiResultKey,1) // output string stream 00091 00092 }; 00093 00094 00095 #endif // DBIRESULTKEY 00096