/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DBITABLEROW_H 00002 #define DBITABLEROW_H 00003 00007 00037 #include "TObject.h" 00038 #include <string> 00039 #include <cassert> 00040 00041 class DbiOutRowStream; 00042 class DbiResult; 00043 class DbiResultSet; 00044 class DbiTableProxy; 00045 class DbiValidityRec; 00046 00047 class DbiTableRow 00048 { 00049 00050 public: 00051 00052 // Constructors and destructors. 00053 DbiTableRow(); 00054 DbiTableRow(const DbiTableRow& from); 00055 virtual ~DbiTableRow(); 00056 00057 // For RTTI: 00058 virtual std::string name() const; 00059 virtual size_t size() const; 00060 00061 // State testing member functions 00062 virtual Bool_t CanFixOrdering() const { return kFALSE; } 00063 virtual Bool_t CanL2Cache() const { return kFALSE; } 00064 virtual std::string GetExtraCondition() const { return std::string(""); } 00065 virtual Int_t GetAggregateNo() const { return -1; } 00066 DbiResult* GetOwner() const { return fOwner; } 00067 virtual DbiTableRow* CreateTableRow() const =0; 00068 virtual UInt_t GetIndex(UInt_t defIndex) const {return defIndex;} 00069 00070 // State modifying member functions 00071 void SetOwner(DbiResult* owner) {fOwner = owner;} 00072 00073 // I/O member functions 00074 virtual void Fill(DbiResultSet& rs, 00075 const DbiValidityRec* vrec) =0; 00076 virtual void Store(DbiOutRowStream& /* ors */, 00077 const DbiValidityRec* /* vrec */) const { assert(0); } 00078 00080 virtual bool CreateDatabaseTables(Int_t db_no = 0, const char* tablename = "default" ); 00081 00083 virtual std::string GetDatabaseLayout(); 00084 00085 00086 private: 00087 00088 // Data members 00089 00091 DbiResult * fOwner; 00092 00093 // Removed: ClassDef(DbiTableRow,0) // DbiTableRow for a specific database table. 00094 00095 }; 00096 00097 00098 #endif // DBITABLEROW_H