#ifndef SERVICE_CONF_H #define SERVICE_CONF_H #include #include "resetable.h" #include "os_int.h" struct SERVICE_CONF { SERVICE_CONF() : name(), comment(), cost(0), payDay(0) {} SERVICE_CONF(const std::string & n) : name(n), comment(), cost(0), payDay(0) {} SERVICE_CONF(const std::string & n, double c) : name(n), comment(), cost(c), payDay(0) {} SERVICE_CONF(const std::string & n, double c, unsigned p) : name(n), comment(), cost(c), payDay(static_cast(p)) {} SERVICE_CONF(const std::string & n, double c, unsigned p, const std::string & com) : name(n), comment(com), cost(c), payDay(static_cast(p)) {} std::string name; std::string comment; double cost; uint8_t payDay; }; struct SERVICE_CONF_RES { SERVICE_CONF_RES() : name(), comment(), cost(), payDay() {} SERVICE_CONF_RES & operator=(const SERVICE_CONF & conf) { name = conf.name; comment = conf.comment; cost = conf.cost; payDay = conf.payDay; return *this; } SERVICE_CONF GetData() const { SERVICE_CONF sc; sc.name = name.data(); sc.comment = comment.data(); sc.cost = cost.data(); sc.payDay = payDay.data(); return sc; } RESETABLE name; RESETABLE comment; RESETABLE cost; RESETABLE payDay; }; inline bool operator==(const SERVICE_CONF & a, const SERVICE_CONF & b) { return a.name == b.name; } #endif //SERVICE_CONF_H