]> git.stg.codes - stg.git/commitdiff
Simplified admins API
authorMaxim Mamontov <faust.madf@gmail.com>
Sat, 13 Aug 2011 16:04:25 +0000 (19:04 +0300)
committerMaxim Mamontov <faust.madf@gmail.com>
Sat, 13 Aug 2011 16:04:25 +0000 (19:04 +0300)
include/stg/admins.h
projects/stargazer/admins_impl.cpp
projects/stargazer/admins_impl.h

index 169f1a26512fb176979aef4ef141a6069cc35faf..7536a4a520efb0adeee661a70d6aaf7beb529166 100644 (file)
@@ -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;
index 53775717700899a1c332179a336d19e4d2069175..a780fcb316b80c7145b09e73b1c91f0218378c19 100644 (file)
@@ -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<string> 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())
index 2ec9912913fcb8235cc9a73c4f1f146d8a4a6330..a1ca0f9859867a455eb79ab1fd1e8512cd90c739 100644 (file)
@@ -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<ADMIN_IMPL>::iterator admin_iter;
     typedef list<ADMIN_IMPL>::const_iterator const_admin_iter;
 
-    int             ReadAdmins();
+    int             Read();
 
     ADMIN_IMPL              stg;
     ADMIN_IMPL              noAdmin;