X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/98ffbef6ea7a0944fd4aca27e3343b8ac5bc12f0..aa24fde9f922b0dd8c37ed16ac84aa77157c50ae:/projects/stargazer/settings_impl.cpp?ds=sidebyside diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index d5fb2dad..d197efc4 100644 --- a/projects/stargazer/settings_impl.cpp +++ b/projects/stargazer/settings_impl.cpp @@ -40,7 +40,8 @@ using namespace std; //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL() - : strError(), + : SETTINGS(), + strError(), modulesPath("/usr/lib/stg"), dirName(DIR_NUM), confDir("/etc/stargazer"), @@ -63,6 +64,8 @@ SETTINGS_IMPL::SETTINGS_IMPL() writeFreeMbTraffCost(false), showFeeInCash(true), messageTimeout(0), + feeChargeType(0), + reconnectOnTariffChange(false), modulesSettings(), storeModuleSettings(), logger(GetStgLogger()) @@ -70,7 +73,8 @@ SETTINGS_IMPL::SETTINGS_IMPL() } //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) - : strError(), + : SETTINGS(), + strError(), modulesPath("/usr/lib/stg"), dirName(DIR_NUM), confDir(cd), @@ -93,6 +97,8 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) writeFreeMbTraffCost(false), showFeeInCash(true), messageTimeout(0), + feeChargeType(0), + reconnectOnTariffChange(false), modulesSettings(), storeModuleSettings(), logger(GetStgLogger()) @@ -100,7 +106,8 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) } //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) - : strError(), + : SETTINGS(), + strError(), modulesPath(rval.modulesPath), dirName(rval.dirName), confDir(rval.confDir), @@ -123,6 +130,8 @@ SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) writeFreeMbTraffCost(rval.writeFreeMbTraffCost), showFeeInCash(rval.showFeeInCash), messageTimeout(rval.messageTimeout), + feeChargeType(rval.feeChargeType), + reconnectOnTariffChange(rval.reconnectOnTariffChange), modulesSettings(rval.modulesSettings), storeModuleSettings(rval.storeModuleSettings), logger(GetStgLogger()) @@ -429,6 +438,24 @@ while (node) } } + if (strcasecmp(node->getName(), "FeeChargeType") == 0) + { + if (ParseUnsignedInRange(node->getValue(0), 0, 2, &feeChargeType) != 0) + { + strError = "Incorrect FeeChargeType value: \'" + string(node->getValue(0)) + "\'"; + return -1; + } + } + + if (strcasecmp(node->getName(), "ReconnectOnTariffChange") == 0) + { + if (ParseYesNo(node->getValue(0), &reconnectOnTariffChange) != 0) + { + strError = "Incorrect ReconnectOnTariffChange value: \'" + string(node->getValue(0)) + "\'"; + return -1; + } + } + if (strcasecmp(node->getName(), "DirNames") == 0) { const DOTCONFDocumentNode * child = node->getChildNode();