]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/authorization/ao/ao.h
Light inetaccess plugin refactoring
[stg.git] / projects / stargazer / plugins / authorization / ao / ao.h
index ba4d9376ffa5eb50ebd2ec592a5c85abb9a73192..df21803b25b754aa5821fe8e2c4d9411e6d06758 100644 (file)
 #include <string>
 #include <list>
 
-#include "auth.h"
-#include "store.h"
-#include "notifer.h"
-#include "user_ips.h"
-#include "user.h"
+#include "stg/auth.h"
+#include "stg/store.h"
+#include "stg/notifer.h"
+#include "stg/user_ips.h"
+#include "stg/user.h"
 
 extern "C" PLUGIN * GetPlugin();
 
@@ -73,11 +73,6 @@ public:
     virtual ~AUTH_AO(){};
 
     void                SetUsers(USERS * u) { users = u; }
-    void                SetTariffs(TARIFFS *) {}
-    void                SetAdmins(ADMINS *) {}
-    void                SetTraffcounter(TRAFFCOUNTER *) {}
-    void                SetStore(STORE *) {}
-    void                SetStgSettings(const SETTINGS *) {}
 
     int                 Start();
     int                 Stop();
@@ -93,15 +88,13 @@ public:
     void                AddUser(USER_PTR u);
     void                DelUser(USER_PTR u);
 
-    void                UpdateUserAuthorization(USER_PTR u) const;
-    void                Unauthorize(USER_PTR u) const;
-
     int                 SendMessage(const STG_MSG & msg, uint32_t ip) const;
 
 private:
     void                GetUsers();
     void                SetUserNotifiers(USER_PTR u);
     void                UnSetUserNotifiers(USER_PTR u);
+    void                UpdateUserAuthorization(CONST_USER_PTR u) const;
 
     mutable std::string errorStr;
     USERS *             users;
@@ -143,6 +136,11 @@ private:
         AUTH_AO & auth;
     } onDelUserNotifier;
 
+    friend class CHG_BEFORE_NOTIFIER<int>;
+    friend class CHG_AFTER_NOTIFIER<int>;
+    friend class CHG_BEFORE_NOTIFIER<USER_IPS>;
+    friend class CHG_AFTER_NOTIFIER<USER_IPS>;
+
 };
 //-----------------------------------------------------------------------------