X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/291779a4a9998e89dfada3c6b9d69db050dfe016..2e4de7bb1dcdf34bce1769c34c7cd42fb64637e2:/projects/stargazer/users_impl.h diff --git a/projects/stargazer/users_impl.h b/projects/stargazer/users_impl.h index de1a2d40..0c2af78d 100644 --- a/projects/stargazer/users_impl.h +++ b/projects/stargazer/users_impl.h @@ -56,26 +56,6 @@ typedef std::list::const_iterator const_user_iter; class USERS_IMPL; //----------------------------------------------------------------------------- -/*class PROPERTY_NOTIFER_IP_BEFORE: public PROPERTY_NOTIFIER_BASE { -public: - PROPERTY_NOTIFER_IP_BEFORE(USERS_IMPL & us, user_iter u) : users(us), user(u) {} - void Notify(const uint32_t & oldValue, const uint32_t & newValue); - user_iter GetUser() const { return user; } -private: - USERS_IMPL & users; - user_iter user; -}; -//----------------------------------------------------------------------------- -class PROPERTY_NOTIFER_IP_AFTER: public PROPERTY_NOTIFIER_BASE { -public: - PROPERTY_NOTIFER_IP_AFTER(USERS_IMPL & us, user_iter u) : users(us), user(u) {} - void Notify(const uint32_t & oldValue, const uint32_t & newValue); - user_iter GetUser() const { return user; } -private: - USERS_IMPL & users; - user_iter user; -};*/ -//----------------------------------------------------------------------------- struct USER_TO_DEL { USER_TO_DEL() : iter(), @@ -123,6 +103,7 @@ public: int FindByIPIdx(uint32_t ip, USER_PTR * user) const; int FindByIPIdx(uint32_t ip, USER_IMPL ** user) const; bool IsIPInIndex(uint32_t ip) const; + bool IsIPInUse(uint32_t ip, const std::string & login, CONST_USER_PTR * user) const; int OpenSearch(); int SearchNext(int handler, USER_PTR * user); @@ -133,6 +114,9 @@ public: int Stop(); private: + USERS_IMPL(const USERS_IMPL & rvalue); + USERS_IMPL & operator=(const USERS_IMPL & rvalue); + void AddToIPIdx(user_iter user); void DelFromIPIdx(uint32_t ip); bool FindByIPIdx(uint32_t ip, user_iter & iter) const; @@ -142,9 +126,6 @@ private: void RealDelUser(); void ProcessActions(); - void SetUserNotifiers(user_iter user); - void UnSetUserNotifiers(user_iter user); - void AddUserIntoIndexes(user_iter user); void DelUserFromIndexes(user_iter user); @@ -157,8 +138,6 @@ private: std::list users; std::list usersToDelete; - /*std::list userIPNotifiersBefore; - std::list userIPNotifiersAfter;*/ std::map ipIndex; std::map loginIndex;