X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f5ea2a9375e9fb6fc8dc0720395e761ddd3c11c0..77aa0c79adcc95d641fd17a246cfebf0eba56bd0:/include/stg/tariff_conf.h diff --git a/include/stg/tariff_conf.h b/include/stg/tariff_conf.h index fe94b6e5..cee3b4a5 100644 --- a/include/stg/tariff_conf.h +++ b/include/stg/tariff_conf.h @@ -148,6 +148,7 @@ struct TARIFF_CONF double passiveCost; std::string name; TARIFF::PERIOD period; + TARIFF::CHANGE_POLICY changePolicy; TARIFF_CONF() : fee(0), @@ -155,7 +156,8 @@ struct TARIFF_CONF traffType(TARIFF::TRAFF_UP_DOWN), passiveCost(0), name(), - period(TARIFF::MONTH) + period(TARIFF::MONTH), + changePolicy(TARIFF::ALLOW) {} TARIFF_CONF(const std::string & n) @@ -164,7 +166,8 @@ struct TARIFF_CONF traffType(TARIFF::TRAFF_UP_DOWN), passiveCost(0), name(n), - period(TARIFF::MONTH) + period(TARIFF::MONTH), + changePolicy(TARIFF::ALLOW) {} }; //----------------------------------------------------------------------------- @@ -176,7 +179,8 @@ struct TARIFF_CONF_RES traffType(), passiveCost(), name(), - period() + period(), + changePolicy() {} TARIFF_CONF_RES & operator=(const TARIFF_CONF & tc) @@ -187,6 +191,7 @@ struct TARIFF_CONF_RES passiveCost = tc.passiveCost; name = tc.name; period = tc.period; + changePolicy = tc.changePolicy; return *this; } @@ -199,6 +204,7 @@ struct TARIFF_CONF_RES passiveCost.maybeSet(tc.passiveCost); traffType.maybeSet(tc.traffType); period.maybeSet(tc.period); + changePolicy.maybeSet(tc.changePolicy); return tc; } @@ -208,6 +214,7 @@ struct TARIFF_CONF_RES RESETABLE passiveCost; RESETABLE name; RESETABLE period; + RESETABLE changePolicy; }; //----------------------------------------------------------------------------- struct TARIFF_DATA @@ -248,6 +255,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;