X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4f1aca7dfb6adf867713ad48e14ad79080e13cfa..86b8aab2752e68ca1844896c54e6083d88cac23b:/projects/stargazer/users_impl.h diff --git a/projects/stargazer/users_impl.h b/projects/stargazer/users_impl.h index 0c2af78d..a8f8d559 100644 --- a/projects/stargazer/users_impl.h +++ b/projects/stargazer/users_impl.h @@ -75,6 +75,9 @@ public: virtual ~USERS_IMPL(); int FindByName(const std::string & login, USER_PTR * user); + int FindByName(const std::string & login, CONST_USER_PTR * user) const; + + bool Exists(const std::string & login) const; bool TariffInUse(const std::string & tariffName) const; @@ -95,7 +98,9 @@ public: bool Authorize(const std::string & login, uint32_t ip, uint32_t enabledDirs, const AUTH * auth); - bool Unauthorize(const std::string & login, const AUTH * auth); + bool Unauthorize(const std::string & login, + const AUTH * auth, + const std::string & reason = std::string()); int ReadUsers(); size_t Count() const { return users.size(); } @@ -122,6 +127,7 @@ private: bool FindByIPIdx(uint32_t ip, user_iter & iter) const; int FindByNameNonLock(const std::string & login, user_iter * user); + int FindByNameNonLock(const std::string & login, const_user_iter * user) const; void RealDelUser(); void ProcessActions();