#include <ctime>
#include <string>
+#include <vector>
+#include <string>
+
#include "os_int.h"
#include "notifer.h"
#include "message.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;
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;
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 std::vector<std::string> GetAuthorizers() const = 0;
virtual int AddMessage(STG_MSG * msg) = 0;
};
typedef USER * USER_PTR;
+typedef const USER * CONST_USER_PTR;
#endif