]> git.stg.codes - stg.git/blobdiff - include/stg/user.h
Check that IP is not in use before changing.
[stg.git] / include / stg / user.h
index adf140de0cac0cef36bf26a17f6d18bbeeedbd0c..b9d638d626a5437a0ebc8c1b49d501c7ba43781b 100644 (file)
 
 #include "os_int.h"
 #include "notifer.h"
-#include "stg_message.h"
+#include "message.h"
 #include "tariff.h"
 #include "user_traff.h"
 
 class USER_PROPERTIES;
 class AUTH;
 
+typedef PROPERTY_NOTIFIER_BASE<uint32_t> CURR_IP_NOTIFIER;
+typedef PROPERTY_NOTIFIER_BASE<bool> CONNECTED_NOTIFIER;
+
 class USER {
 public:
+    virtual ~USER() {}
     virtual int                 WriteConf() = 0;
     virtual int                 WriteStat() = 0;
 
@@ -43,17 +47,17 @@ public:
     virtual uint32_t            GetCurrIP() const = 0;
     virtual time_t              GetCurrIPModificationTime() const = 0;
 
-    virtual void                AddCurrIPBeforeNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> * notifier) = 0;
-    virtual void                DelCurrIPBeforeNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> * notifier) = 0;
+    virtual void                AddCurrIPBeforeNotifier(CURR_IP_NOTIFIER * notifier) = 0;
+    virtual void                DelCurrIPBeforeNotifier(const CURR_IP_NOTIFIER * notifier) = 0;
 
-    virtual void                AddCurrIPAfterNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> * notifier) = 0;
-    virtual void                DelCurrIPAfterNotifier(PROPERTY_NOTIFIER_BASE<uint32_t> * notifier) = 0;
+    virtual void                AddCurrIPAfterNotifier(CURR_IP_NOTIFIER * notifier) = 0;
+    virtual void                DelCurrIPAfterNotifier(const CURR_IP_NOTIFIER * notifier) = 0;
 
-    virtual void                AddConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> * notifier) = 0;
-    virtual void                DelConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE<bool> * notifier) = 0;
+    virtual void                AddConnectedBeforeNotifier(CONNECTED_NOTIFIER * notifier) = 0;
+    virtual void                DelConnectedBeforeNotifier(const CONNECTED_NOTIFIER * notifier) = 0;
 
-    virtual void                AddConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> * notifier) = 0;
-    virtual void                DelConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE<bool> * notifier) = 0;
+    virtual void                AddConnectedAfterNotifier(CONNECTED_NOTIFIER * notifier) = 0;
+    virtual void                DelConnectedAfterNotifier(const CONNECTED_NOTIFIER * notifier) = 0;
 
     virtual int                 GetID() const = 0;
 
@@ -62,24 +66,16 @@ public:
     virtual const TARIFF *      GetTariff() const = 0;
     virtual void                ResetNextTariff() = 0;
 
-    #ifdef TRAFF_STAT_WITH_PORTS
-    virtual void                AddTraffStatU(int dir, uint32_t ip, uint16_t port, uint32_t len) = 0;
-    virtual void                AddTraffStatD(int dir, uint32_t ip, uint16_t port, uint32_t len) = 0;
-    #else
-    virtual void                AddTraffStatU(int dir, uint32_t ip, uint32_t len) = 0;
-    virtual void                AddTraffStatD(int dir, uint32_t ip, uint32_t len) = 0;
-    #endif
-
     virtual const DIR_TRAFF &   GetSessionUpload() const = 0;
     virtual const DIR_TRAFF &   GetSessionDownload() const = 0;
 
     virtual bool                GetConnected() const = 0;
     virtual time_t              GetConnectedModificationTime() const = 0;
     virtual int                 GetAuthorized() const = 0;
-    virtual int                 Authorize(uint32_t ip,
+    /*virtual int                 Authorize(uint32_t ip,
                                           uint32_t enabledDirs,
                                           const AUTH * auth) = 0;
-    virtual void                Unauthorize(const AUTH * auth) = 0;
+    virtual void                Unauthorize(const AUTH * auth) = 0;*/
     virtual bool                IsAuthorizedBy(const AUTH * auth) const = 0;
 
     virtual int                 AddMessage(STG_MSG * msg) = 0;
@@ -107,5 +103,6 @@ public:
 };
 
 typedef USER * USER_PTR;
+typedef const USER * CONST_USER_PTR;
 
 #endif