From: Maxim Mamontov Date: Sat, 13 Aug 2011 16:04:25 +0000 (+0300) Subject: Simplified admins API X-Git-Tag: 2.408-alpha~35 X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/8141c8c568b83be890c8d8d3953e976ad0ad8ad1 Simplified admins API --- diff --git a/include/stg/admins.h b/include/stg/admins.h index 169f1a26..7536a4a5 100644 --- a/include/stg/admins.h +++ b/include/stg/admins.h @@ -33,12 +33,13 @@ public: virtual int Change(const ADMIN_CONF & ac, const ADMIN * admin) = 0; virtual const ADMIN * GetSysAdmin() const = 0; virtual const ADMIN * GetNoAdmin() const = 0; - virtual bool FindAdmin(const std::string & l, ADMIN ** admin) = 0; - virtual bool AdminExists(const std::string & login) const = 0; - virtual bool AdminCorrect(const std::string & login, - const std::string & password, - ADMIN ** admin) = 0; + virtual bool Find(const std::string & l, ADMIN ** admin) = 0; + virtual bool Exists(const std::string & login) const = 0; + virtual bool Correct(const std::string & login, + const std::string & password, + ADMIN ** admin) = 0; virtual const std::string & GetStrError() const = 0; + virtual size_t Count() const = 0; virtual int OpenSearch() const = 0; virtual int SearchNext(int, ADMIN_CONF * ac) const = 0; diff --git a/projects/stargazer/admins_impl.cpp b/projects/stargazer/admins_impl.cpp index 53775717..a780fcb3 100644 --- a/projects/stargazer/admins_impl.cpp +++ b/projects/stargazer/admins_impl.cpp @@ -50,7 +50,7 @@ ADMINS_IMPL::ADMINS_IMPL(STORE * st) handle(0) { pthread_mutex_init(&mutex, NULL); -ReadAdmins(); +Read(); } //----------------------------------------------------------------------------- int ADMINS_IMPL::Add(const string & login, const ADMIN * admin) @@ -174,7 +174,7 @@ WriteServLog("%s Administrator \'%s\' changed.", return 0; } //----------------------------------------------------------------------------- -int ADMINS_IMPL::ReadAdmins() +int ADMINS_IMPL::Read() { STG_LOCKER lock(&mutex, __FILE__, __LINE__); vector adminsList; @@ -210,7 +210,7 @@ while (ai != data.end()) } } //----------------------------------------------------------------------------- -bool ADMINS_IMPL::FindAdmin(const string & l, ADMIN ** admin) +bool ADMINS_IMPL::Find(const string & l, ADMIN ** admin) { assert(admin != NULL && "Pointer to admin is not null"); @@ -234,7 +234,7 @@ if (ai != data.end()) return true; } //----------------------------------------------------------------------------- -bool ADMINS_IMPL::AdminExists(const string & login) const +bool ADMINS_IMPL::Exists(const string & login) const { STG_LOCKER lock(&mutex, __FILE__, __LINE__); if (data.empty()) @@ -252,7 +252,7 @@ if (ai != data.end()) return false; } //----------------------------------------------------------------------------- -bool ADMINS_IMPL::AdminCorrect(const string & login, const std::string & password, ADMIN ** admin) +bool ADMINS_IMPL::Correct(const string & login, const std::string & password, ADMIN ** admin) { STG_LOCKER lock(&mutex, __FILE__, __LINE__); if (data.empty()) diff --git a/projects/stargazer/admins_impl.h b/projects/stargazer/admins_impl.h index 2ec99129..a1ca0f98 100644 --- a/projects/stargazer/admins_impl.h +++ b/projects/stargazer/admins_impl.h @@ -42,6 +42,7 @@ #include "stg/locker.h" #include "stg/store.h" #include "stg/noncopyable.h" +#include "stg/logger.h" #include "admin_impl.h" class ADMINS_IMPL : private NONCOPYABLE, public ADMINS { @@ -55,13 +56,15 @@ public: void PrintAdmins() const; const ADMIN * GetSysAdmin() const { return &stg; } const ADMIN * GetNoAdmin() const { return &noAdmin; } - bool FindAdmin(const std::string & l, ADMIN ** admin); - bool AdminExists(const std::string & login) const; - bool AdminCorrect(const std::string & login, - const std::string & password, - ADMIN ** admin); + bool Find(const std::string & l, ADMIN ** admin); + bool Exists(const std::string & login) const; + bool Correct(const std::string & login, + const std::string & password, + ADMIN ** admin); const std::string & GetStrError() const { return strError; } + size_t Count() const { return data.size(); } + int OpenSearch() const; int SearchNext(int, ADMIN_CONF * ac) const; int CloseSearch(int) const; @@ -70,7 +73,7 @@ private: typedef list::iterator admin_iter; typedef list::const_iterator const_admin_iter; - int ReadAdmins(); + int Read(); ADMIN_IMPL stg; ADMIN_IMPL noAdmin;