From 35294e99f08df1a7dc061ed013219816ff669350 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Tue, 6 May 2025 12:00:22 +0200 Subject: [PATCH] Parse possible Includes-section in tariff-file --- library/src/configuration.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/src/configuration.cpp b/library/src/configuration.cpp index 7324491..cf2dbee 100644 --- a/library/src/configuration.cpp +++ b/library/src/configuration.cpp @@ -46,6 +46,7 @@ MemberType Configuration::IdentifyJsonMember(const char* member_name) if (strcmp(member_name, "Interpolation") == 0) return MemberType::InterpolationType; if (strcmp(member_name, "Prepaid") == 0) return MemberType::PrepaidType; if (strcmp(member_name, "CarryOver") == 0) return MemberType::CarryOverType; + if (strcmp(member_name, "Includes") == 0) return MemberType::IncludesType; else return MemberType::UnknownType; } @@ -811,6 +812,7 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json) ATBInterpolation TariffInterpolation; ATBPrepaid TariffPrepaidOption; ATBCarryOver TariffCarryOver; + QStringList TariffIncludes; MemberType mb_type = MemberType::UnknownType; this->currentPaymentOptions.clear(); @@ -1342,6 +1344,9 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json) else if (strcmp(inner_obj_name, "pcu_minor") == 0) Currency.pcu_minor = k->value.GetString(); else if (strcmp(inner_obj_name, "pcu_active") == 0) Currency.pcu_active = k->value.GetBool(); break; + case MemberType::IncludesType: + TariffIncludes << k->value.GetString(); + break; case MemberType::PaymentMethodType: if (strcmp(inner_obj_name, "pme_id") == 0) PaymentMethod.pme_id = k->value.GetInt(); else if (strcmp(inner_obj_name, "pme_label") == 0) PaymentMethod.pme_label = k->value.GetString(); @@ -1631,6 +1636,9 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json) cfg->TariffCarryOverOptions.insert(pair(TariffCarryOver.id, TariffCarryOver)); // qCritical() << TariffCarryOver; break; + case MemberType::IncludesType: + cfg->TariffIncludes = TariffIncludes; + // qCritical() << "TariffIncludes" << cfg->TariffIncludes; default: break; }