]> git.stg.codes - stg.git/blobdiff - projects/stargazer/users_impl.h
Moved common initialization code to a separate class method.
[stg.git] / projects / stargazer / users_impl.h
index 0c2af78d5f84fea5bbab66e25e0deed6787964e2..a8f8d559515028dbbf0dfc1fbddd57f518cc29fb 100644 (file)
@@ -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();