]> git.stg.codes - stg.git/blobdiff - projects/stargazer/settings_impl.h
Merge branch 'stg-2.409-radius'
[stg.git] / projects / stargazer / settings_impl.h
index 20d82869983fc78e1871814645eec496d874a169..d9be53f7f84fbe6d6e4c513983c4b0cd3e7723b8 100644 (file)
@@ -1,9 +1,3 @@
- /*
- $Revision: 1.27 $
- $Date: 2010/08/19 13:42:30 $
- $Author: faust $
- */
-
 /*
  *    This program is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-/*
- *    Date: 27.10.2002
- */
-
 /*
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
- /*
- $Revision: 1.27 $
- $Date: 2010/08/19 13:42:30 $
- */
-
-
 #ifndef SETTINGS_IMPL_H
 #define SETTINGS_IMPL_H
 
-#include <string>
-#include <vector>
-
 #include "stg/settings.h"
 #include "stg/common.h"
 #include "stg/module_settings.h"
+#include "stg/ref.h"
+
+#include <string>
+#include <vector>
 
 //-----------------------------------------------------------------------------
 enum DETAIL_STAT_PERIOD {
-dsPeriod_1,
-dsPeriod_1_2,
-dsPeriod_1_4,
-dsPeriod_1_6
+    dsPeriod_1,
+    dsPeriod_1_2,
+    dsPeriod_1_4,
+    dsPeriod_1_6
 };
 //-----------------------------------------------------------------------------
 class STG_LOGGER;
@@ -57,8 +42,8 @@ class DOTCONFDocumentNode;
 //-----------------------------------------------------------------------------
 class SETTINGS_IMPL : public SETTINGS {
 public:
-    SETTINGS_IMPL(const std::string &);
-    SETTINGS_IMPL(const SETTINGS_IMPL &);
+    explicit SETTINGS_IMPL(const std::string &);
+    SETTINGS_IMPL(const SETTINGS_IMPL & rhs);
     virtual ~SETTINGS_IMPL() {}
     SETTINGS_IMPL & operator=(const SETTINGS_IMPL &);
 
@@ -75,7 +60,7 @@ public:
     const std::string & GetRulesFileName() const { return rules; }
     const std::string & GetLogFileName() const { return logFile; }
     const std::string & GetPIDFileName() const { return pidFile; }
-    unsigned            GetDetailStatWritePeriod() const 
+    unsigned            GetDetailStatWritePeriod() const
         { return detailStatWritePeriod; }
     unsigned            GetStatWritePeriod() const { return statWritePeriod * 60; }
     unsigned            GetDayFee() const { return dayFee; }
@@ -93,6 +78,8 @@ public:
     unsigned            GetMessageTimeout() const { return messageTimeout * 3600 * 24; }
     unsigned            GetFeeChargeType() const { return feeChargeType; }
     bool                GetReconnectOnTariffChange() const { return reconnectOnTariffChange; }
+    bool                GetDisableSessionLog() const { return disableSessionLog; }
+    const std::vector<std::string> & GetFilterParamsLog() const { return filterParamsLog; }
 
     const std::string & GetModulesPath() const { return modulesPath; }
     const MODULE_SETTINGS & GetStoreModuleSettings() const
@@ -103,9 +90,6 @@ public:
 
 private:
 
-    int ParseDetailStatWritePeriod(const std::string & str);
-    int ParseModuleSettings(const DOTCONFDocumentNode * dirNameNode, std::vector<PARAM_VALUE> * params);
-
     static void ErrorCallback(void * data, const char * buf);
 
     std::string strError;
@@ -114,7 +98,7 @@ private:
     std::string modulesPath;
     std::vector<std::string> dirName;
     std::string confDir;
-    std::string        scriptsDir;
+    std::string scriptsDir;
     std::string rules;
     std::string logFile;
     std::string pidFile;
@@ -137,10 +121,12 @@ private:
     unsigned    messageTimeout;
     unsigned    feeChargeType;
     bool        reconnectOnTariffChange;
+    bool        disableSessionLog;
+    std::vector<std::string> filterParamsLog;
 
     std::vector<MODULE_SETTINGS> modulesSettings;
     MODULE_SETTINGS storeModuleSettings;
-    STG_LOGGER & logger;
+    STG::RefWrapper<STG_LOGGER> logger;
 };
 //-----------------------------------------------------------------------------