From: Maxim Mamontov Date: Fri, 17 Oct 2014 10:05:56 +0000 (+0300) Subject: Moved common initialization code to a separate class method. X-Git-Tag: 2.409~237 X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/ae7ea38fdaf2d96f407eb85b6515b9dbffcc0c44?ds=inline Moved common initialization code to a separate class method. Conflicts: include/stg/user_conf.h --- diff --git a/include/stg/user_conf.h b/include/stg/user_conf.h index dcc19afa..465cfef4 100644 --- a/include/stg/user_conf.h +++ b/include/stg/user_conf.h @@ -18,25 +18,13 @@ struct USER_CONF { USER_CONF() - : password(), - passive(0), + : passive(0), disabled(0), disabledDetailStat(0), alwaysOnline(0), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - corp(), - service(), - group(), credit(0), - nextTariff(), userdata(USERDATA_NUM), - creditExpire(0), - ips() + creditExpire(0) {} std::string password; @@ -62,27 +50,6 @@ struct USER_CONF //----------------------------------------------------------------------------- struct USER_CONF_RES { - USER_CONF_RES() - : password(), - passive(), - disabled(), - disabledDetailStat(), - alwaysOnline(), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - group(), - credit(), - nextTariff(), - userdata(USERDATA_NUM, RESETABLE()), - creditExpire(), - ips() - { - } - USER_CONF_RES & operator=(const USER_CONF & uc) { userdata.resize(USERDATA_NUM); diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index 79321987..44fac908 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -59,8 +59,7 @@ USER_IMPL::USER_IMPL(const SETTINGS * s, const TARIFFS * t, const ADMIN * a, const USERS * u) - : USER(), - users(u), + : users(u), property(s->GetScriptsDir()), WriteServLog(GetStgLogger()), lastScanMessages(0), @@ -120,22 +119,7 @@ USER_IMPL::USER_IMPL(const SETTINGS * s, cashNotifier(this), ipNotifier(this) { -password = "*_EMPTY_PASSWORD_*"; -tariffName = NO_TARIFF_NAME; -ips = StrToIPS("*"); -lastWriteStat = stgTime + random() % settings->GetStatWritePeriod(); -lastWriteDetailedStat = stgTime; - -property.tariffName.AddBeforeNotifier(&tariffNotifier); -property.passive.AddBeforeNotifier(&passiveNotifier); -property.disabled.AddAfterNotifier(&disabledNotifier); -property.cash.AddBeforeNotifier(&cashNotifier); -ips.AddAfterNotifier(&ipNotifier); - -pthread_mutexattr_t attr; -pthread_mutexattr_init(&attr); -pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); -pthread_mutex_init(&mutex, &attr); +Init(); } #else USER_IMPL::USER_IMPL(const SETTINGS_IMPL * s, @@ -143,8 +127,7 @@ USER_IMPL::USER_IMPL(const SETTINGS_IMPL * s, const TARIFFS * t, const ADMIN * a, const USERS * u) - : USER(), - users(u), + : users(u), property(s->GetScriptsDir()), WriteServLog(GetStgLogger()), lastScanMessages(0), @@ -204,6 +187,12 @@ USER_IMPL::USER_IMPL(const SETTINGS_IMPL * s, cashNotifier(this), ipNotifier(this) { +Init(); +} +#endif +//----------------------------------------------------------------------------- +void USER_IMPL::Init() +{ password = "*_EMPTY_PASSWORD_*"; tariffName = NO_TARIFF_NAME; ips = StrToIPS("*"); @@ -221,7 +210,6 @@ pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&mutex, &attr); } -#endif //----------------------------------------------------------------------------- USER_IMPL::USER_IMPL(const USER_IMPL & u) : USER(), diff --git a/projects/stargazer/user_impl.h b/projects/stargazer/user_impl.h index 29cc63c4..dbb0d892 100644 --- a/projects/stargazer/user_impl.h +++ b/projects/stargazer/user_impl.h @@ -230,6 +230,8 @@ public: private: USER_IMPL & operator=(const USER_IMPL & rvalue); + void Init(); + const USERS * users; USER_PROPERTIES property; STG_LOGGER & WriteServLog;