00001 #ifndef LMFIOV_H 00002 #define LMFIOV_H 00003 00004 /* 00005 Copyright (c) Giovanni.Organtini@roma1.infn.it 2010 00006 */ 00007 00008 #include <string> 00009 #include <stdexcept> 00010 00011 #include "OnlineDB/EcalCondDB/interface/LMFUnique.h" 00012 #include "OnlineDB/EcalCondDB/interface/EcalDBConnection.h" 00013 00017 class LMFIOV : public LMFUnique { 00018 public: 00019 friend class EcalCondDBInterface; // need permission to write 00020 00021 LMFIOV(); 00022 LMFIOV(EcalDBConnection *c); 00023 LMFIOV(const oracle::occi::Environment* env, 00024 const oracle::occi::Connection* conn); 00025 ~LMFIOV(); 00026 00027 LMFIOV& setStart(const Tm &start); 00028 LMFIOV& setStop(const Tm &stop); 00029 LMFIOV& setIOV(const Tm &start, const Tm &stop); 00030 LMFIOV& setVmin(int vmin); 00031 LMFIOV& setVmax(int vmax); 00032 LMFIOV& setVersions(int vmin, int vmax); 00033 00034 Tm getStart() const; 00035 Tm getStop() const; 00036 int getVmin() const; 00037 int getVmax() const; 00038 00039 void dump() const; 00040 00041 private: 00042 // Methods from LMFUnique 00043 std::string writeDBSql(Statement *stmt); 00044 std::string fetchIdSql(Statement *stmt); 00045 // std::string fetchAllSql(Statement *stmt) const; 00046 std::string setByIDSql(Statement *stmt, 00047 int id); 00048 00049 void getParameters(ResultSet *rset); 00050 void fetchParentIDs() {} 00051 LMFUnique * createObject() const; 00052 00053 Tm m_iov_start; 00054 Tm m_iov_stop; 00055 int m_vmin; 00056 int m_vmax; 00057 00058 }; 00059 00060 #endif