#pragma once #include #include #include #include #include #include #include #include #include "tariff_currency.h" #include "tariff_duration.h" #include "tariff_payment_mtd.h" #include "tariff_payment_opt.h" #include "tariff_spec_days.h" #include "tariff_payment_opt.h" #include "tariff_weekdays.h" #include "tariff_weekdays_worktime.h" #include "tariff_spec_days_worktime.h" #include "tariff_member_type.h" #include "tariff_period_year.h" #include "tariff_payment_rate.h" #include using namespace std; using namespace rapidjson; /// /// Tariff configuration class /// class TariffConfiguration { public: vector Currency; vector Duration; vector PaymentMethod; vector PaymentRate; vector SpecialDaysWorktime; vector SpecialDays; vector WeekDays; vector YearPeriod; vector WeekDaysWorktime; vector PaymentOption; /// /// Parse JSON string /// /// /// Returns operation status bool (OK | FAIL) bool ParseJson(TariffConfiguration* tariff_cfg, const char* json); private: /// /// Identify type of JSON member /// /// /// MemberType IdentifyJsonMember(const char* member_name); };