- RESETABLE<double> fee;
- RESETABLE<double> free;
- RESETABLE<int> traffType;
- RESETABLE<double> passiveCost;
- RESETABLE<std::string> name;
- RESETABLE<TARIFF::PERIOD> period;
+ TariffConf get(const TariffConf& defaultValue) const noexcept
+ {
+ TariffConf res;
+ res.fee = fee.get(defaultValue.fee);
+ res.free = free.get(defaultValue.free);
+ res.traffType = traffType.get(defaultValue.traffType);
+ res.passiveCost = passiveCost.get(defaultValue.passiveCost);
+ res.name = name.get(defaultValue.name);
+ res.period = period.get(defaultValue.period);
+ res.changePolicy = changePolicy.get(defaultValue.changePolicy);
+ res.changePolicyTimeout = changePolicyTimeout.get(defaultValue.changePolicyTimeout);
+ return res;
+ }
+
+ Optional<double> fee;
+ Optional<double> free;
+ Optional<Tariff::TraffType> traffType;
+ Optional<double> passiveCost;
+ Optional<std::string> name;
+ Optional<Tariff::Period> period;
+ Optional<Tariff::ChangePolicy> changePolicy;
+ Optional<time_t> changePolicyTimeout;