]> git.stg.codes - stg.git/blobdiff - projects/stargazer/settings_impl.cpp
Ticket 26. In the reload() function modSettings vector is defined, a cycle for the
[stg.git] / projects / stargazer / settings_impl.cpp
index f6a40db3d3305ce123c59f43ef112ae9e1528e54..a50a0a657ec708f37accbc0d5adfa7ab1d3ad218 100644 (file)
@@ -36,48 +36,13 @@ $Author: faust $
 #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"),
@@ -97,8 +62,6 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd)
       messageTimeout(0),
       feeChargeType(0),
       reconnectOnTariffChange(false),
-      modulesSettings(),
-      storeModuleSettings(),
       logger(GetStgLogger())
 {
 }
@@ -136,6 +99,39 @@ SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval)
 {
 }
 //-----------------------------------------------------------------------------
+SETTINGS_IMPL & SETTINGS_IMPL::operator=(const SETTINGS_IMPL & set)
+{
+    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;
+    return *this;
+}
+//-----------------------------------------------------------------------------
 int SETTINGS_IMPL::ParseModuleSettings(const DOTCONFDocumentNode * node, std::vector<PARAM_VALUE> * params)
 {
 const DOTCONFDocumentNode * childNode;