X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/b7e15fb6292364ba19fba87d5415f44a4bb301a0..0d6d9ba8a9c8512a0e1fd66a398c61e656644516:/include/stg/tariff_conf.h diff --git a/include/stg/tariff_conf.h b/include/stg/tariff_conf.h index 8640d823..f705d0a0 100644 --- a/include/stg/tariff_conf.h +++ b/include/stg/tariff_conf.h @@ -149,6 +149,7 @@ struct TARIFF_CONF std::string name; TARIFF::PERIOD period; TARIFF::CHANGE_POLICY changePolicy; + time_t changePolicyTimeout; TARIFF_CONF() : fee(0), @@ -157,17 +158,19 @@ struct TARIFF_CONF passiveCost(0), name(), period(TARIFF::MONTH), - changePolicy(TARIFF::ALLOW) + changePolicy(TARIFF::ALLOW), + changePolicyTimeout(0) {} - TARIFF_CONF(const std::string & n) + explicit TARIFF_CONF(const std::string & n) : fee(0), free(0), traffType(TARIFF::TRAFF_UP_DOWN), passiveCost(0), name(n), period(TARIFF::MONTH), - changePolicy(TARIFF::ALLOW) + changePolicy(TARIFF::ALLOW), + changePolicyTimeout(0) {} }; //----------------------------------------------------------------------------- @@ -180,7 +183,8 @@ struct TARIFF_CONF_RES passiveCost(), name(), period(), - changePolicy() + changePolicy(), + changePolicyTimeout() {} TARIFF_CONF_RES & operator=(const TARIFF_CONF & tc) @@ -192,6 +196,7 @@ struct TARIFF_CONF_RES name = tc.name; period = tc.period; changePolicy = tc.changePolicy; + changePolicyTimeout = tc.changePolicyTimeout; return *this; } @@ -204,6 +209,8 @@ struct TARIFF_CONF_RES passiveCost.maybeSet(tc.passiveCost); traffType.maybeSet(tc.traffType); period.maybeSet(tc.period); + changePolicy.maybeSet(tc.changePolicy); + changePolicyTimeout.maybeSet(tc.changePolicyTimeout); return tc; } @@ -213,6 +220,8 @@ struct TARIFF_CONF_RES RESETABLE passiveCost; RESETABLE name; RESETABLE period; + RESETABLE changePolicy; + RESETABLE changePolicyTimeout; }; //----------------------------------------------------------------------------- struct TARIFF_DATA @@ -225,22 +234,10 @@ struct TARIFF_DATA dirPrice(DIR_NUM) {} - TARIFF_DATA(const std::string & name) + explicit TARIFF_DATA(const std::string & name) : tariffConf(name), dirPrice(DIR_NUM) {} - - TARIFF_DATA(const TARIFF_DATA & td) - : tariffConf(td.tariffConf), - dirPrice(td.dirPrice) - {} - - TARIFF_DATA & operator=(const TARIFF_DATA & td) - { - tariffConf = td.tariffConf; - dirPrice = td.dirPrice; - return *this; - } }; //----------------------------------------------------------------------------- struct TARIFF_DATA_RES @@ -253,6 +250,14 @@ struct TARIFF_DATA_RES dirPrice(DIR_NUM) {} + TARIFF_DATA_RES & operator=(const TARIFF_DATA & td) + { + tariffConf = td.tariffConf; + for (size_t i = 0; i < DIR_NUM; ++i) + dirPrice[i] = td.dirPrice[i]; + return *this; + } + TARIFF_DATA GetData() const { TARIFF_DATA td;