X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/60995b1933ff94757d2d29629f324d16070de1ea..e9d45351deaf9ce85a9f1ee116f1f62988322e84:/projects/stargazer/user_impl.h diff --git a/projects/stargazer/user_impl.h b/projects/stargazer/user_impl.h index 6f6030ca..150f2a8b 100644 --- a/projects/stargazer/user_impl.h +++ b/projects/stargazer/user_impl.h @@ -27,15 +27,7 @@ #ifndef USER_IMPL_H #define USER_IMPL_H -#include <ctime> -#include <list> -#include <vector> -#include <string> -#include <set> - #include "stg/user.h" -#include "stg/os_int.h" -#include "stg/const.h" #include "stg/user_stat.h" #include "stg/user_conf.h" #include "stg/user_ips.h" @@ -43,6 +35,15 @@ #include "stg/auth.h" #include "stg/message.h" #include "stg/noncopyable.h" +#include "stg/os_int.h" +#include "stg/const.h" + +#include <list> +#include <vector> +#include <string> +#include <set> + +#include <ctime> //----------------------------------------------------------------------------- class TARIFF; @@ -183,7 +184,9 @@ public: bool GetConnected() const { return connected; } time_t GetConnectedModificationTime() const { return connected.ModificationTime(); } + const std::string & GetLastDisconnectReason() const { return lastDisconnectReason; } int GetAuthorized() const { return static_cast<int>(authorizedBy.size()); } + time_t GetAuthorizedModificationTime() const { return authorizedModificationTime; } int Authorize(uint32_t ip, uint32_t enabledDirs, const AUTH * auth); void Unauthorize(const AUTH * auth, const std::string & reason = std::string()); @@ -212,6 +215,7 @@ public: void ProcessDayFee(); void ProcessDayFeeSpread(); void ProcessNewMonth(); + void ProcessDailyFee(); bool IsInetable(); std::string GetEnabledDirs(); @@ -219,6 +223,8 @@ public: void OnAdd(); void OnDelete(); + virtual std::string GetParamValue(const std::string & name) const; + private: USER_IMPL & operator=(const USER_IMPL & rvalue); @@ -270,6 +276,7 @@ private: #endif std::set<const AUTH *> authorizedBy; + time_t authorizedModificationTime; std::list<STG_MSG> messages;