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;
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(); }
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();
SETTINGS_IMPL * settings;
TARIFFS * tariffs;
+ SERVICES & m_services;
STORE * store;
const ADMIN * sysAdmin;
STG_LOGGER & WriteServLog;