]> git.stg.codes - stg.git/blobdiff - projects/stargazer/settings_impl.h
Fixed parsing parameters with empty values.
[stg.git] / projects / stargazer / settings_impl.h
index 97990d3243170d38cc974e7ade52ee3632e6a3bd..690137643bbe272e3e9089f51c22f5f0802c3ebc 100644 (file)
@@ -50,7 +50,7 @@ enum DETAIL_STAT_PERIOD {
 dsPeriod_1,
 dsPeriod_1_2,
 dsPeriod_1_4,
 dsPeriod_1,
 dsPeriod_1_2,
 dsPeriod_1_4,
-dsPeriod_1_6,
+dsPeriod_1_6
 };
 //-----------------------------------------------------------------------------
 class STG_LOGGER;
 };
 //-----------------------------------------------------------------------------
 class STG_LOGGER;
@@ -58,7 +58,6 @@ class DOTCONFDocumentNode;
 //-----------------------------------------------------------------------------
 class SETTINGS_IMPL : public SETTINGS {
 public:
 //-----------------------------------------------------------------------------
 class SETTINGS_IMPL : public SETTINGS {
 public:
-    SETTINGS_IMPL();
     SETTINGS_IMPL(const std::string &);
     SETTINGS_IMPL(const SETTINGS_IMPL &);
     virtual ~SETTINGS_IMPL() {}
     SETTINGS_IMPL(const std::string &);
     SETTINGS_IMPL(const SETTINGS_IMPL &);
     virtual ~SETTINGS_IMPL() {}
@@ -85,28 +84,24 @@ public:
     bool                GetFreeMbAllowInet() const { return freeMbAllowInet; }
     bool                GetDayFeeIsLastDay() const { return dayFeeIsLastDay; }
     bool                GetWriteFreeMbTraffCost() const
     bool                GetFreeMbAllowInet() const { return freeMbAllowInet; }
     bool                GetDayFeeIsLastDay() const { return dayFeeIsLastDay; }
     bool                GetWriteFreeMbTraffCost() const
-        { return writeFreeMbTraffCost; };
+        { return writeFreeMbTraffCost; }
     bool                GetShowFeeInCash() const { return showFeeInCash; }
     const std::string & GetMonitorDir() const { return monitorDir; }
     bool                GetMonitoring() const { return monitoring; }
     unsigned            GetMessageTimeout() const { return messageTimeout * 3600 * 24; }
     unsigned            GetFeeChargeType() const { return feeChargeType; }
     bool                GetShowFeeInCash() const { return showFeeInCash; }
     const std::string & GetMonitorDir() const { return monitorDir; }
     bool                GetMonitoring() const { return monitoring; }
     unsigned            GetMessageTimeout() const { return messageTimeout * 3600 * 24; }
     unsigned            GetFeeChargeType() const { return feeChargeType; }
+    bool                GetReconnectOnTariffChange() const { return reconnectOnTariffChange; }
 
     const std::string & GetModulesPath() const { return modulesPath; }
     const MODULE_SETTINGS & GetStoreModuleSettings() const
         { return storeModuleSettings; }
     const std::vector<MODULE_SETTINGS> & GetModulesSettings() const
         { return modulesSettings; }
 
     const std::string & GetModulesPath() const { return modulesPath; }
     const MODULE_SETTINGS & GetStoreModuleSettings() const
         { return storeModuleSettings; }
     const std::vector<MODULE_SETTINGS> & GetModulesSettings() const
         { return modulesSettings; }
+    const std::vector<std::string> & GetScriptParams() const { return scriptParams; }
 
 private:
 
 
 private:
 
-    int ParseInt(const std::string & value, int * val);
-    int ParseUnsigned(const std::string & value, unsigned * val);
-    int ParseIntInRange(const std::string & value, int min, int max, int * val);
-    int ParseUnsignedInRange(const std::string & value, unsigned min, unsigned max, unsigned * val);
-    int ParseYesNo(const std::string & value, bool * val);
-    int ParseDetailStatWritePeriod(const std::string & detailStatPeriodStr);
-
+    int ParseDetailStatWritePeriod(const std::string & str);
     int ParseModuleSettings(const DOTCONFDocumentNode * dirNameNode, std::vector<PARAM_VALUE> * params);
 
     static void ErrorCallback(void * data, const char * buf);
     int ParseModuleSettings(const DOTCONFDocumentNode * dirNameNode, std::vector<PARAM_VALUE> * params);
 
     static void ErrorCallback(void * data, const char * buf);
@@ -122,6 +117,7 @@ private:
     std::string logFile;
     std::string pidFile;
     std::string monitorDir;
     std::string logFile;
     std::string pidFile;
     std::string monitorDir;
+    std::vector<std::string> scriptParams;
     bool        monitoring;
     unsigned    detailStatWritePeriod;
     unsigned    statWritePeriod;
     bool        monitoring;
     unsigned    detailStatWritePeriod;
     unsigned    statWritePeriod;
@@ -137,10 +133,10 @@ private:
     bool        showFeeInCash;
     unsigned    messageTimeout;
     unsigned    feeChargeType;
     bool        showFeeInCash;
     unsigned    messageTimeout;
     unsigned    feeChargeType;
+    bool        reconnectOnTariffChange;
 
     std::vector<MODULE_SETTINGS> modulesSettings;
     MODULE_SETTINGS storeModuleSettings;
 
     std::vector<MODULE_SETTINGS> modulesSettings;
     MODULE_SETTINGS storeModuleSettings;
-
     STG_LOGGER & logger;
 };
 //-----------------------------------------------------------------------------
     STG_LOGGER & logger;
 };
 //-----------------------------------------------------------------------------