X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/25d817aaf266fdf5300ca0b662426caaed4e924e..0f40a5daeee669d12c789e4ffb0c537358c17fab:/projects/stargazer/user_impl.h diff --git a/projects/stargazer/user_impl.h b/projects/stargazer/user_impl.h index 5b473627..1aaffc86 100644 --- a/projects/stargazer/user_impl.h +++ b/projects/stargazer/user_impl.h @@ -32,16 +32,16 @@ #include <string> #include <set> -#include "user.h" -#include "os_int.h" -#include "stg_const.h" -#include "user_stat.h" -#include "user_conf.h" -#include "user_ips.h" -#include "user_property.h" -#include "auth.h" -#include "stg_message.h" -#include "noncopyable.h" +#include "stg/user.h" +#include "stg/os_int.h" +#include "stg/const.h" +#include "stg/user_stat.h" +#include "stg/user_conf.h" +#include "stg/user_ips.h" +#include "stg/user_property.h" +#include "stg/auth.h" +#include "stg/message.h" +#include "stg/noncopyable.h" //----------------------------------------------------------------------------- class TARIFF; @@ -87,11 +87,11 @@ private: USER_IMPL * user; }; //----------------------------------------------------------------------------- -class CHG_IP_NOTIFIER : public PROPERTY_NOTIFIER_BASE<uint32_t>, - private NONCOPYABLE { +class CHG_IPS_NOTIFIER : public PROPERTY_NOTIFIER_BASE<USER_IPS>, + private NONCOPYABLE { public: - CHG_IP_NOTIFIER(USER_IMPL * u) : user(u) {} - void Notify(const uint32_t & oldCash, const uint32_t & newCash); + CHG_IPS_NOTIFIER(USER_IMPL * u) : user(u) {} + void Notify(const USER_IPS & oldIPs, const USER_IPS & newIPs); private: USER_IMPL * user; @@ -101,7 +101,7 @@ class USER_IMPL : public USER { friend class CHG_PASSIVE_NOTIFIER; friend class CHG_TARIFF_NOTIFIER; friend class CHG_CASH_NOTIFIER; -friend class CHG_IP_NOTIFIER; +friend class CHG_IPS_NOTIFIER; public: USER_IMPL(const SETTINGS_IMPL * settings, const STORE * store, @@ -117,7 +117,7 @@ public: int WriteStat(); int WriteMonthStat(); - std::string const & GetLogin() const { return login; } + const std::string & GetLogin() const { return login; } void SetLogin(std::string const & l); uint32_t GetCurrIP() const { return currIP; } @@ -129,6 +129,12 @@ public: void AddCurrIPAfterNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> *); void DelCurrIPAfterNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> *); + void AddConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> *); + void DelConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> *); + + void AddConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> *); + void DelConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> *); + int GetID() const { return id; } double GetPassiveTimePart() const; @@ -183,7 +189,7 @@ public: void ProcessNewMonth(); bool IsInetable(); - std::string GetEnabledDirs(); + std::string GetEnabledDirs(); void OnAdd(); void OnDelete(); @@ -282,7 +288,7 @@ private: CHG_PASSIVE_NOTIFIER passiveNotifier; CHG_TARIFF_NOTIFIER tariffNotifier; CHG_CASH_NOTIFIER cashNotifier; - CHG_IP_NOTIFIER ipNotifier; + CHG_IPS_NOTIFIER ipNotifier; mutable pthread_mutex_t mutex; @@ -290,4 +296,6 @@ private: }; //----------------------------------------------------------------------------- +typedef USER_IMPL * USER_IMPL_PTR; + #endif //USER_H