X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/cc7685dc764b43b8a9a061f4a38549f1c04fe047..64467fb06c680a7ff9bd863333fb0686a10e50be:/projects/stargazer/settings_impl.h?ds=sidebyside diff --git a/projects/stargazer/settings_impl.h b/projects/stargazer/settings_impl.h index 97990d32..f5d2dc2b 100644 --- a/projects/stargazer/settings_impl.h +++ b/projects/stargazer/settings_impl.h @@ -37,20 +37,19 @@ #ifndef SETTINGS_IMPL_H #define SETTINGS_IMPL_H -#include -#include - #include "stg/settings.h" #include "stg/common.h" -#include "stg/logger.h" #include "stg/module_settings.h" +#include +#include + //----------------------------------------------------------------------------- enum DETAIL_STAT_PERIOD { dsPeriod_1, dsPeriod_1_2, dsPeriod_1_4, -dsPeriod_1_6, +dsPeriod_1_6 }; //----------------------------------------------------------------------------- class STG_LOGGER; @@ -58,10 +57,11 @@ class DOTCONFDocumentNode; //----------------------------------------------------------------------------- class SETTINGS_IMPL : public SETTINGS { public: - SETTINGS_IMPL(); - SETTINGS_IMPL(const std::string &); + explicit SETTINGS_IMPL(const std::string &); SETTINGS_IMPL(const SETTINGS_IMPL &); virtual ~SETTINGS_IMPL() {} + SETTINGS_IMPL & operator=(const SETTINGS_IMPL &); + int Reload() { return ReadSettings(); } int ReadSettings(); @@ -75,8 +75,8 @@ 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 - { return detailStatWritePeriod; } + unsigned GetDetailStatWritePeriod() const + { return detailStatWritePeriod; } unsigned GetStatWritePeriod() const { return statWritePeriod * 60; } unsigned GetDayFee() const { return dayFee; } bool GetFullFee() const { return fullFee; } @@ -85,28 +85,26 @@ public: 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 GetReconnectOnTariffChange() const { return reconnectOnTariffChange; } + bool GetDisableSessionLog() const { return disableSessionLog; } + const std::vector & GetFilterParamsLog() const { return filterParamsLog; } const std::string & GetModulesPath() const { return modulesPath; } const MODULE_SETTINGS & GetStoreModuleSettings() const { return storeModuleSettings; } const std::vector & GetModulesSettings() const { return modulesSettings; } + const std::vector & GetScriptParams() const { return scriptParams; } 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 * params); static void ErrorCallback(void * data, const char * buf); @@ -122,6 +120,7 @@ private: std::string logFile; std::string pidFile; std::string monitorDir; + std::vector scriptParams; bool monitoring; unsigned detailStatWritePeriod; unsigned statWritePeriod; @@ -137,10 +136,12 @@ private: bool showFeeInCash; unsigned messageTimeout; unsigned feeChargeType; + bool reconnectOnTariffChange; + bool disableSessionLog; + std::vector filterParamsLog; std::vector modulesSettings; MODULE_SETTINGS storeModuleSettings; - STG_LOGGER & logger; }; //-----------------------------------------------------------------------------