X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c8c881a0df9e718e364af741695f165d6bb3e529..d160ca225cd39f7e187bf1b07d96eab5f2901292:/projects/stargazer/settings_impl.cpp diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index ca343bd5..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,50 +89,53 @@ 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()) { } //----------------------------------------------------------------------------- -SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & set) +SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & rhs) { - if (&set == this) - return *this; - - 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; + disableSessionLog = rhs.disableSessionLog; + filterParamsLog = rhs.filterParamsLog; + + modulesSettings = rhs.modulesSettings; + storeModuleSettings = rhs.storeModuleSettings; return *this; } //----------------------------------------------------------------------------- @@ -331,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) @@ -388,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(); @@ -457,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(); }