X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4b6cb30ae7c85d6ca9d2defb4e6d8f5cae309eeb..8c6fa3fbaccc22127280bf77a48fab5a3ee0716e:/projects/stargazer/settings_impl.h?ds=inline diff --git a/projects/stargazer/settings_impl.h b/projects/stargazer/settings_impl.h index f35eda0d..d9be53f7 100644 --- a/projects/stargazer/settings_impl.h +++ b/projects/stargazer/settings_impl.h @@ -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 @@ -20,37 +14,27 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* - * Date: 27.10.2002 - */ - /* * Author : Boris Mikhailenko */ - /* - $Revision: 1.27 $ - $Date: 2010/08/19 13:42:30 $ - */ - - #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 "stg/ref.h" + +#include +#include //----------------------------------------------------------------------------- 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; @@ -58,9 +42,11 @@ 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 &); + int Reload() { return ReadSettings(); } int ReadSettings(); @@ -74,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; } @@ -83,6 +69,7 @@ public: bool GetSpreadFee() const { return spreadFee; } bool GetFreeMbAllowInet() const { return freeMbAllowInet; } bool GetDayFeeIsLastDay() const { return dayFeeIsLastDay; } + bool GetStopOnError() const { return stopOnError; } bool GetWriteFreeMbTraffCost() const { return writeFreeMbTraffCost; } bool GetShowFeeInCash() const { return showFeeInCash; } @@ -91,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 & GetFilterParamsLog() const { return filterParamsLog; } const std::string & GetModulesPath() const { return modulesPath; } const MODULE_SETTINGS & GetStoreModuleSettings() const @@ -101,9 +90,6 @@ public: private: - int ParseDetailStatWritePeriod(const std::string & str); - int ParseModuleSettings(const DOTCONFDocumentNode * dirNameNode, std::vector * params); - static void ErrorCallback(void * data, const char * buf); std::string strError; @@ -112,7 +98,7 @@ private: std::string modulesPath; std::vector dirName; std::string confDir; - std::string scriptsDir; + std::string scriptsDir; std::string rules; std::string logFile; std::string pidFile; @@ -128,17 +114,19 @@ private: unsigned dayResetTraff; bool spreadFee; bool freeMbAllowInet; - bool stopOnError; bool dayFeeIsLastDay; + bool stopOnError; bool writeFreeMbTraffCost; bool showFeeInCash; unsigned messageTimeout; unsigned feeChargeType; bool reconnectOnTariffChange; + bool disableSessionLog; + std::vector filterParamsLog; std::vector modulesSettings; MODULE_SETTINGS storeModuleSettings; - STG_LOGGER & logger; + STG::RefWrapper logger; }; //-----------------------------------------------------------------------------