X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c0fff5a4f4e765e5bb9f01a5d380cbdc098d04e6..d160ca225cd39f7e187bf1b07d96eab5f2901292:/projects/stargazer/settings_impl.cpp diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index c1a3951c..212ed634 100644 --- a/projects/stargazer/settings_impl.cpp +++ b/projects/stargazer/settings_impl.cpp @@ -57,19 +57,20 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) spreadFee(false), freeMbAllowInet(false), dayFeeIsLastDay(false), + stopOnError(true), writeFreeMbTraffCost(false), showFeeInCash(true), messageTimeout(0), feeChargeType(0), reconnectOnTariffChange(false), + disableSessionLog(false), logger(GetStgLogger()) { + filterParamsLog.push_back("*"); } //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) - : SETTINGS(), - strError(), - modulesPath(rval.modulesPath), + : modulesPath(rval.modulesPath), dirName(rval.dirName), confDir(rval.confDir), scriptsDir(rval.scriptsDir), @@ -88,11 +89,14 @@ SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) spreadFee(rval.spreadFee), freeMbAllowInet(rval.freeMbAllowInet), dayFeeIsLastDay(rval.dayFeeIsLastDay), + stopOnError(rval.stopOnError), writeFreeMbTraffCost(rval.writeFreeMbTraffCost), showFeeInCash(rval.showFeeInCash), messageTimeout(rval.messageTimeout), feeChargeType(rval.feeChargeType), reconnectOnTariffChange(rval.reconnectOnTariffChange), + disableSessionLog(rval.disableSessionLog), + filterParamsLog(rval.filterParamsLog), modulesSettings(rval.modulesSettings), storeModuleSettings(rval.storeModuleSettings), logger(GetStgLogger()) @@ -121,11 +125,14 @@ SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & rhs) spreadFee = rhs.spreadFee; freeMbAllowInet = rhs.freeMbAllowInet; dayFeeIsLastDay = rhs.dayFeeIsLastDay; + stopOnError = rhs.stopOnError; writeFreeMbTraffCost = rhs.writeFreeMbTraffCost; showFeeInCash = rhs.showFeeInCash; messageTimeout = rhs.messageTimeout; feeChargeType = rhs.feeChargeType; reconnectOnTariffChange = rhs.reconnectOnTariffChange; + disableSessionLog = rhs.disableSessionLog; + filterParamsLog = rhs.filterParamsLog; modulesSettings = rhs.modulesSettings; storeModuleSettings = rhs.storeModuleSettings; @@ -328,6 +335,15 @@ while (node) } } + if (strcasecmp(node->getName(), "StopOnError") == 0) + { + if (ParseYesNo(node->getValue(0), &stopOnError) != 0) + { + strError = "Incorrect StopOnError value: \'" + std::string(node->getValue(0)) + "\'"; + return -1; + } + } + if (strcasecmp(node->getName(), "WriteFreeMbTraffCost") == 0) { if (ParseYesNo(node->getValue(0), &writeFreeMbTraffCost) != 0) @@ -385,6 +401,22 @@ while (node) } } + if (strcasecmp(node->getName(), "DisableSessionLog") == 0) + { + if (ParseYesNo(node->getValue(0), &disableSessionLog) != 0) + { + strError = "Incorrect DisableSessionLog value: \'" + std::string(node->getValue(0)) + "\'"; + return -1; + } + } + + if (strcasecmp(node->getName(), "FilterParamsLog") == 0) + { + filterParamsLog.clear(); + for (int i = 0; node->getValue(i) != NULL; ++i) + filterParamsLog.push_back(node->getValue(i)); + } + if (strcasecmp(node->getName(), "DirNames") == 0) { const DOTCONFDocumentNode * child = node->getChildNode(); @@ -454,9 +486,7 @@ while (node) if (strcasecmp(node->getName(), "ScriptParams") == 0) { for (int i = 0; node->getValue(i) != NULL; ++i) - { scriptParams.push_back(node->getValue(i)); - } } node = node->getNextNode(); }