X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/e767204dbf56ac466489c142f0acdaebd5d0b935..02bcc3a0cfbd20bdbb474fc6c02057468d980276:/projects/stargazer/users_impl.h diff --git a/projects/stargazer/users_impl.h b/projects/stargazer/users_impl.h index b9df5981..46b17139 100644 --- a/projects/stargazer/users_impl.h +++ b/projects/stargazer/users_impl.h @@ -36,19 +36,18 @@ $Author: faust $ #include #include -#include "os_int.h" - -#include "store.h" -#include "settings.h" -#include "users.h" -#include "user.h" -#include "user_impl.h" -#include "tariffs.h" -#include "stg_logger.h" -#include "notifer.h" +#include "stg/os_int.h" +#include "stg/store.h" +#include "stg/users.h" +#include "stg/user.h" +#include "stg/tariffs.h" +#include "stg/logger.h" +#include "stg/notifer.h" +#include "stg/noncopyable.h" #include "actions.h" -#include "noncopyable.h" #include "eventloop.h" +#include "settings_impl.h" +#include "user_impl.h" const int userDeleteDelayTime = 120; @@ -92,7 +91,7 @@ class USERS_IMPL : private NONCOPYABLE, public USERS { friend class PROPERTY_NOTIFER_IP_AFTER; public: - USERS_IMPL(SETTINGS * s, STORE * store, TARIFFS * tariffs, const ADMIN * sysAdmin); + USERS_IMPL(SETTINGS_IMPL * s, STORE * store, TARIFFS * tariffs, const ADMIN * sysAdmin); virtual ~USERS_IMPL(); int FindByName(const std::string & login, USER_PTR * user); @@ -105,6 +104,12 @@ public: void AddNotifierUserDel(NOTIFIER_BASE *); void DelNotifierUserDel(NOTIFIER_BASE *); + void AddNotifierUserAdd(NOTIFIER_BASE *); + void DelNotifierUserAdd(NOTIFIER_BASE *); + + void AddNotifierUserDel(NOTIFIER_BASE *); + void DelNotifierUserDel(NOTIFIER_BASE *); + int Add(const std::string & login, const ADMIN * admin); void Del(const std::string & login, const ADMIN * admin); @@ -112,10 +117,12 @@ public: int GetUserNum() const; int FindByIPIdx(uint32_t ip, USER_PTR * user) const; + int FindByIPIdx(uint32_t ip, USER_IMPL ** user) const; bool IsIPInIndex(uint32_t ip) const; int OpenSearch(); int SearchNext(int handler, USER_PTR * user); + int SearchNext(int handler, USER_IMPL ** user); int CloseSearch(int handler); int Start(); @@ -151,7 +158,7 @@ private: std::map ipIndex; std::map loginIndex; - SETTINGS * settings; + SETTINGS_IMPL * settings; TARIFFS * tariffs; STORE * store; const ADMIN * sysAdmin; @@ -168,6 +175,8 @@ private: std::set*> onAddNotifiers; std::set*> onDelNotifiers; + std::set*> onAddNotifiersImpl; + std::set*> onDelNotifiersImpl; }; //----------------------------------------------------------------------------- inline