X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/facc4c60c54a4df8be7fc5519f049d28fd87dbe1..5ac9b6c2949b075cbb8d8c91dd9f603f3f8ad0a3:/projects/stargazer/settings_impl.cpp diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index a50a0a65..fa7402ed 100644 --- a/projects/stargazer/settings_impl.cpp +++ b/projects/stargazer/settings_impl.cpp @@ -57,6 +57,7 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) spreadFee(false), freeMbAllowInet(false), dayFeeIsLastDay(false), + stopOnError(true), writeFreeMbTraffCost(false), showFeeInCash(true), messageTimeout(0), @@ -67,9 +68,7 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) } //----------------------------------------------------------------------------- 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,6 +87,7 @@ 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), @@ -99,36 +99,37 @@ SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) { } //----------------------------------------------------------------------------- -SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & set) +SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & rhs) { - modulesPath = set.modulesPath; - dirName = set.dirName; - confDir = set.confDir; - scriptsDir = set.scriptsDir; - rules = set.rules; - logFile = set.logFile; - pidFile = set.pidFile; - monitorDir = set.monitorDir; - scriptParams = set.scriptParams; - monitoring = set.monitoring; - detailStatWritePeriod = set.detailStatWritePeriod; - statWritePeriod = set.statWritePeriod; - stgExecMsgKey = set.stgExecMsgKey; - executersNum = set.executersNum; - fullFee = set.fullFee; - dayFee = set.dayFee; - dayResetTraff = set.dayResetTraff; - spreadFee = set.spreadFee; - freeMbAllowInet = set.freeMbAllowInet; - dayFeeIsLastDay = set.dayFeeIsLastDay; - writeFreeMbTraffCost = set.writeFreeMbTraffCost; - showFeeInCash = set.showFeeInCash; - messageTimeout = set.messageTimeout; - feeChargeType = set.feeChargeType; - reconnectOnTariffChange = set.reconnectOnTariffChange; - - modulesSettings = set.modulesSettings; - storeModuleSettings = set.storeModuleSettings; + modulesPath = rhs.modulesPath; + dirName = rhs.dirName; + confDir = rhs.confDir; + scriptsDir = rhs.scriptsDir; + rules = rhs.rules; + logFile = rhs.logFile; + pidFile = rhs.pidFile; + monitorDir = rhs.monitorDir; + scriptParams = rhs.scriptParams; + monitoring = rhs.monitoring; + detailStatWritePeriod = rhs.detailStatWritePeriod; + statWritePeriod = rhs.statWritePeriod; + stgExecMsgKey = rhs.stgExecMsgKey; + executersNum = rhs.executersNum; + fullFee = rhs.fullFee; + dayFee = rhs.dayFee; + dayResetTraff = rhs.dayResetTraff; + 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; + + modulesSettings = rhs.modulesSettings; + storeModuleSettings = rhs.storeModuleSettings; return *this; } //----------------------------------------------------------------------------- @@ -328,6 +329,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)