X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/4ee4759a51cf944de103eb73a654ec00ccb3664d..e19d853bbf16b7ba8c58c71c1da488b9034e0fb3:/include/stg/user.h diff --git a/include/stg/user.h b/include/stg/user.h index 204899ac..44d3e5b2 100644 --- a/include/stg/user.h +++ b/include/stg/user.h @@ -21,18 +21,23 @@ #ifndef USER_H #define USER_H -#include -#include - -#include "os_int.h" #include "notifer.h" #include "message.h" #include "tariff.h" #include "user_traff.h" +#include "os_int.h" + +#include +#include + +#include class USER_PROPERTIES; class AUTH; +typedef PROPERTY_NOTIFIER_BASE CURR_IP_NOTIFIER; +typedef PROPERTY_NOTIFIER_BASE CONNECTED_NOTIFIER; + class USER { public: virtual ~USER() {} @@ -44,17 +49,17 @@ public: virtual uint32_t GetCurrIP() const = 0; virtual time_t GetCurrIPModificationTime() const = 0; - virtual void AddCurrIPBeforeNotifier(PROPERTY_NOTIFIER_BASE * notifier) = 0; - virtual void DelCurrIPBeforeNotifier(PROPERTY_NOTIFIER_BASE * 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 * notifier) = 0; - virtual void DelCurrIPAfterNotifier(PROPERTY_NOTIFIER_BASE * 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 * notifier) = 0; - virtual void DelConnectedBeforeNotifier(PROPERTY_NOTIFIER_BASE * notifier) = 0; + virtual void AddConnectedBeforeNotifier(CONNECTED_NOTIFIER * notifier) = 0; + virtual void DelConnectedBeforeNotifier(const CONNECTED_NOTIFIER * notifier) = 0; - virtual void AddConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE * notifier) = 0; - virtual void DelConnectedAfterNotifier(PROPERTY_NOTIFIER_BASE * notifier) = 0; + virtual void AddConnectedAfterNotifier(CONNECTED_NOTIFIER * notifier) = 0; + virtual void DelConnectedAfterNotifier(const CONNECTED_NOTIFIER * notifier) = 0; virtual int GetID() const = 0; @@ -68,12 +73,12 @@ public: virtual bool GetConnected() const = 0; virtual time_t GetConnectedModificationTime() const = 0; + virtual const std::string & GetLastDisconnectReason() const = 0; virtual int GetAuthorized() const = 0; - /*virtual int Authorize(uint32_t ip, - uint32_t enabledDirs, - const AUTH * auth) = 0; - virtual void Unauthorize(const AUTH * auth) = 0;*/ + virtual time_t GetAuthorizedModificationTime() const = 0; + virtual bool IsAuthorizedBy(const AUTH * auth) const = 0; + virtual std::vector GetAuthorizers() const = 0; virtual int AddMessage(STG_MSG * msg) = 0;