EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairDbTableRow.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairDbTableRow.h
1 #ifndef FAIRDBTABLEROW_H
2 #define FAIRDBTABLEROW_H
3 
4 #include "TObject.h"
5 #include <string>
6 #include <cassert>
7 
9 class FairDbResult;
10 class FairDbResultSet;
11 class FairDbTableProxy;
12 class FairDbValidityRec;
13 
14 class FairDbTableRow : public TObject
15 {
16 
17  public:
18 
19 // Constructors and destructors.
21  FairDbTableRow(const FairDbTableRow& from);
22  virtual ~FairDbTableRow();
23 
24 // State testing member functions
25  virtual Bool_t CanL2Cache() const { return kFALSE; }
26  virtual Int_t GetAggregateNo() const { return -1; }
27  FairDbResult* GetOwner() const { return fOwner; }
28  virtual FairDbTableRow* CreateTableRow() const =0;
29  virtual UInt_t GetIndex(UInt_t defIndex) const {return defIndex;}
30 
31 // State modifying member functions
32  void SetOwner(FairDbResult* owner) {fOwner = owner;}
33 
34 // I/O member functions
35  virtual void Fill(FairDbResultSet& rs,
36  const FairDbValidityRec* vrec) =0;
37  virtual void Store(FairDbOutRowStream& /* ors */,
38  const FairDbValidityRec* /* vrec */) const { assert(0); }
39 
40  private:
41 
42 // Data members
43 
46 
47  ClassDef(FairDbTableRow,0) // FairDbTableRow for a specific database table.
48 
49 };
50 
51 
52 #endif // FAIRDBTABLEROW_H