Parse possible Includes-section in tariff-file

This commit is contained in:
Gerhard Hoffmann 2025-05-06 12:00:22 +02:00
parent edfa5dc1b1
commit 35294e99f0

View File

@ -46,6 +46,7 @@ MemberType Configuration::IdentifyJsonMember(const char* member_name)
if (strcmp(member_name, "Interpolation") == 0) return MemberType::InterpolationType; if (strcmp(member_name, "Interpolation") == 0) return MemberType::InterpolationType;
if (strcmp(member_name, "Prepaid") == 0) return MemberType::PrepaidType; if (strcmp(member_name, "Prepaid") == 0) return MemberType::PrepaidType;
if (strcmp(member_name, "CarryOver") == 0) return MemberType::CarryOverType; if (strcmp(member_name, "CarryOver") == 0) return MemberType::CarryOverType;
if (strcmp(member_name, "Includes") == 0) return MemberType::IncludesType;
else return MemberType::UnknownType; else return MemberType::UnknownType;
} }
@ -811,6 +812,7 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
ATBInterpolation TariffInterpolation; ATBInterpolation TariffInterpolation;
ATBPrepaid TariffPrepaidOption; ATBPrepaid TariffPrepaidOption;
ATBCarryOver TariffCarryOver; ATBCarryOver TariffCarryOver;
QStringList TariffIncludes;
MemberType mb_type = MemberType::UnknownType; MemberType mb_type = MemberType::UnknownType;
this->currentPaymentOptions.clear(); 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_minor") == 0) Currency.pcu_minor = k->value.GetString();
else if (strcmp(inner_obj_name, "pcu_active") == 0) Currency.pcu_active = k->value.GetBool(); else if (strcmp(inner_obj_name, "pcu_active") == 0) Currency.pcu_active = k->value.GetBool();
break; break;
case MemberType::IncludesType:
TariffIncludes << k->value.GetString();
break;
case MemberType::PaymentMethodType: case MemberType::PaymentMethodType:
if (strcmp(inner_obj_name, "pme_id") == 0) PaymentMethod.pme_id = k->value.GetInt(); 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(); 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<int, ATBCarryOver>(TariffCarryOver.id, TariffCarryOver)); cfg->TariffCarryOverOptions.insert(pair<int, ATBCarryOver>(TariffCarryOver.id, TariffCarryOver));
// qCritical() << TariffCarryOver; // qCritical() << TariffCarryOver;
break; break;
case MemberType::IncludesType:
cfg->TariffIncludes = TariffIncludes;
// qCritical() << "TariffIncludes" << cfg->TariffIncludes;
default: default:
break; break;
} }