X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/57680908c5cfa6837c7ca111dbc19299170d14d8..3261ecc2503f45394eb3b9df97c36b08fb14fb1d:/projects/stargazer/user_impl.h diff --git a/projects/stargazer/user_impl.h b/projects/stargazer/user_impl.h index 96317f06..29cc63c4 100644 --- a/projects/stargazer/user_impl.h +++ b/projects/stargazer/user_impl.h @@ -181,6 +181,8 @@ public: const DIR_TRAFF & GetSessionUpload() const { return sessionUpload; } const DIR_TRAFF & GetSessionDownload() const { return sessionDownload; } + time_t GetSessionUploadModificationTime() const { return sessionUploadModTime; } + time_t GetSessionDownloadModificationTime() const { return sessionDownloadModTime; } bool GetConnected() const { return connected; } time_t GetConnectedModificationTime() const { return connected.ModificationTime(); } @@ -188,7 +190,8 @@ public: int GetAuthorized() const { return static_cast(authorizedBy.size()); } time_t GetAuthorizedModificationTime() const { return authorizedModificationTime; } int Authorize(uint32_t ip, uint32_t enabledDirs, const AUTH * auth); - void Unauthorize(const AUTH * auth); + void Unauthorize(const AUTH * auth, + const std::string & reason = std::string()); bool IsAuthorizedBy(const AUTH * auth) const; std::vector GetAuthorizers() const; @@ -214,13 +217,16 @@ public: void ProcessDayFee(); void ProcessDayFeeSpread(); void ProcessNewMonth(); + void ProcessDailyFee(); bool IsInetable(); - std::string GetEnabledDirs(); + std::string GetEnabledDirs() const; void OnAdd(); void OnDelete(); + virtual std::string GetParamValue(const std::string & name) const; + private: USER_IMPL & operator=(const USER_IMPL & rvalue); @@ -243,7 +249,6 @@ private: int id; bool __connected; USER_PROPERTY connected; - std::string lastDisconnectReason; bool enabledDirs[DIR_NUM]; @@ -253,6 +258,7 @@ private: USER_PROPERTY currIP; uint32_t lastIPForDisconnect; // User's ip after unauth but before disconnect + std::string lastDisconnectReason; time_t pingTime; @@ -321,6 +327,8 @@ private: DIR_TRAFF sessionUpload; DIR_TRAFF sessionDownload; + time_t sessionUploadModTime; + time_t sessionDownloadModTime; CHG_PASSIVE_NOTIFIER passiveNotifier; CHG_DISABLED_NOTIFIER disabledNotifier;