#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"),
messageTimeout(0),
feeChargeType(0),
reconnectOnTariffChange(false),
- modulesSettings(),
- storeModuleSettings(),
+ disableSessionLog(false),
logger(GetStgLogger())
{
+ filterParamsLog.push_back("*");
}
//-----------------------------------------------------------------------------
SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval)
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 & rhs)
+{
+ 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;
+ 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;
+}
+//-----------------------------------------------------------------------------
int SETTINGS_IMPL::ParseModuleSettings(const DOTCONFDocumentNode * node, std::vector<PARAM_VALUE> * params)
{
const DOTCONFDocumentNode * childNode;
}
}
+ 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();
if (strcasecmp(node->getName(), "ScriptParams") == 0)
{
for (int i = 0; node->getValue(i) != NULL; ++i)
- {
scriptParams.push_back(node->getValue(i));
- }
}
node = node->getNextNode();
}