]> git.stg.codes - stg.git/blobdiff - include/stg/user.h
Portable count.
[stg.git] / include / stg / user.h
index b9d638d626a5437a0ebc8c1b49d501c7ba43781b..7772a298986fadc6320e203f87103f9a48437a70 100644 (file)
 #ifndef USER_H
 #define USER_H
 
-#include <ctime>
-#include <string>
-
-#include "os_int.h"
 #include "notifer.h"
 #include "message.h"
 #include "tariff.h"
 #include "user_traff.h"
+#include "os_int.h"
+
+#include <vector>
+#include <string>
+
+#include <ctime>
 
 class USER_PROPERTIES;
 class AUTH;
@@ -68,15 +70,17 @@ public:
 
     virtual const DIR_TRAFF &   GetSessionUpload() const = 0;
     virtual const DIR_TRAFF &   GetSessionDownload() const = 0;
+    virtual time_t              GetSessionUploadModificationTime() const = 0;
+    virtual time_t              GetSessionDownloadModificationTime() const = 0;
 
     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<std::string> GetAuthorizers() const = 0;
 
     virtual int                 AddMessage(STG_MSG * msg) = 0;
 
@@ -96,10 +100,12 @@ public:
     virtual time_t              GetLastWriteStatTime() const = 0;
 
     virtual bool                IsInetable() = 0;
-    virtual std::string         GetEnabledDirs() = 0;
+    virtual std::string         GetEnabledDirs() const = 0;
 
     virtual void                OnAdd() = 0;
     virtual void                OnDelete() = 0;
+
+    virtual std::string GetParamValue(const std::string & name) const = 0;
 };
 
 typedef USER * USER_PTR;