File indexing completed on 2024-04-06 12:22:53
0001 #ifndef FECONFIGTIMING_H
0002 #define FECONFIGTIMING_H
0003
0004 #include <map>
0005 #include <string>
0006
0007 #include "OnlineDB/EcalCondDB/interface/IODConfig.h"
0008 #include "OnlineDB/EcalCondDB/interface/Tm.h"
0009 #include "OnlineDB/EcalCondDB/interface/DateHandler.h"
0010
0011 class FEConfigTimingInfo : public IODConfig {
0012 public:
0013 friend class EcalCondDBInterface;
0014
0015 FEConfigTimingInfo();
0016 ~FEConfigTimingInfo() override;
0017
0018
0019 inline std::string getTable() override { return "FE_CONFIG_TIME_INFO"; }
0020
0021 inline void setId(int id) { m_ID = id; }
0022 inline int getId() const { return m_ID; }
0023
0024 void setID(int id) { setId(id); }
0025 int getID() { return getId(); }
0026
0027 inline void setVersion(int id) { m_version = id; }
0028 inline int getVersion() const { return m_version; }
0029
0030 Tm getDBTime() const { return m_db_time; }
0031 void setDBTime(const Tm& x) { m_db_time = x; }
0032
0033
0034 int fetchID() noexcept(false);
0035 int fetchNextId() noexcept(false);
0036 void setByID(int id) noexcept(false);
0037 void setParameters(const std::map<std::string, std::string>& my_keys_map);
0038
0039
0040 inline bool operator==(const FEConfigTimingInfo& r) const { return (m_ID == r.m_ID); }
0041 inline bool operator!=(const FEConfigTimingInfo& r) const { return !(*this == r); }
0042
0043 private:
0044
0045 int m_ID;
0046 Tm m_db_time;
0047 int m_version;
0048
0049 void prepareWrite() noexcept(false) override;
0050 void writeDB() noexcept(false);
0051 void clear();
0052 void fetchData(FEConfigTimingInfo* result) noexcept(false);
0053 void fetchLastData(FEConfigTimingInfo* result) noexcept(false);
0054 };
0055
0056 #endif