X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4f1aca7dfb6adf867713ad48e14ad79080e13cfa..b4dba83ccd632236b4f6ac78caa6637bc0874e35:/projects/stargazer/users_impl.h?ds=inline

diff --git a/projects/stargazer/users_impl.h b/projects/stargazer/users_impl.h
index 0c2af78d..0cba7893 100644
--- a/projects/stargazer/users_impl.h
+++ b/projects/stargazer/users_impl.h
@@ -71,10 +71,15 @@ class USERS_IMPL : private NONCOPYABLE, public USERS {
     friend class PROPERTY_NOTIFER_IP_AFTER;
 
 public:
-    USERS_IMPL(SETTINGS_IMPL * s, STORE * store, TARIFFS * tariffs, const ADMIN * sysAdmin);
+    USERS_IMPL(SETTINGS_IMPL * s, STORE * store,
+               TARIFFS * tariffs, SERVICES & svcs,
+               const ADMIN * sysAdmin);
     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 +100,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 +129,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();
@@ -144,6 +152,7 @@ private:
 
     SETTINGS_IMPL *     settings;
     TARIFFS *           tariffs;
+    SERVICES &          m_services;
     STORE *             store;
     const ADMIN *       sysAdmin;
     STG_LOGGER &        WriteServLog;