#include "stg/dotconfpp.h"
#include "settings_impl.h"
-//-----------------------------------------------------------------------------
-SETTINGS_IMPL::SETTINGS_IMPL()
- : SETTINGS(),
- strError(),
- modulesPath("/usr/lib/stg"),
- dirName(DIR_NUM),
- confDir("/etc/stargazer"),
- scriptsDir("/etc/stargazer"),
- rules("/etc/stargazer/rules"),
- logFile("/var/log/stargazer.log"),
- pidFile("/var/run/stargazer.pid"),
- monitorDir("/var/stargazer/monitoring"),
- monitoring(false),
- detailStatWritePeriod(dsPeriod_1_6),
- statWritePeriod(10),
- stgExecMsgKey(5555),
- executersNum(1),
- fullFee(false),
- dayFee(0),
- dayResetTraff(0),
- spreadFee(false),
- freeMbAllowInet(false),
- dayFeeIsLastDay(false),
- writeFreeMbTraffCost(false),
- showFeeInCash(true),
- messageTimeout(0),
- feeChargeType(0),
- reconnectOnTariffChange(false),
- modulesSettings(),
- storeModuleSettings(),
- logger(GetStgLogger())
-{
-}
//-----------------------------------------------------------------------------
SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd)
- : SETTINGS(),
- strError(),
- modulesPath("/usr/lib/stg"),
+ : modulesPath("/usr/lib/stg"),
dirName(DIR_NUM),
- confDir(cd),
- scriptsDir(cd),
- rules(cd + "/rules"),
+ confDir(cd.empty() ? "/etc/stargazer" : cd),
+ scriptsDir(confDir),
+ rules(confDir + "/rules"),
logFile("/var/log/stargazer.log"),
pidFile("/var/run/stargazer.pid"),
monitorDir("/var/stargazer/monitoring"),
spreadFee(false),
freeMbAllowInet(false),
dayFeeIsLastDay(false),
+ stopOnError(true),
writeFreeMbTraffCost(false),
showFeeInCash(true),
messageTimeout(0),
feeChargeType(0),
reconnectOnTariffChange(false),
- modulesSettings(),
- storeModuleSettings(),
logger(GetStgLogger())
{
}
spreadFee(rval.spreadFee),
freeMbAllowInet(rval.freeMbAllowInet),
dayFeeIsLastDay(rval.dayFeeIsLastDay),
+ stopOnError(rval.stopOnError),
writeFreeMbTraffCost(rval.writeFreeMbTraffCost),
showFeeInCash(rval.showFeeInCash),
messageTimeout(rval.messageTimeout),
}
}
+ 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)