X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/5f2937099a707ddb360954f5c10fe79cfa906110..231467a924a410519d6f23361916c30a2cf47b25:/projects/stargazer/plugins/other/smux/sensors.cpp?ds=inline diff --git a/projects/stargazer/plugins/other/smux/sensors.cpp b/projects/stargazer/plugins/other/smux/sensors.cpp index 6018566c..f52a413b 100644 --- a/projects/stargazer/plugins/other/smux/sensors.cpp +++ b/projects/stargazer/plugins/other/smux/sensors.cpp @@ -1,3 +1,5 @@ +#include + #include "stg/INTEGER.h" #include "stg/user.h" @@ -7,8 +9,7 @@ bool UsersSensor::GetValue(ObjectSyntax_t * objectSyntax) const { int handle = users.OpenSearch(); -if (!handle) - return false; +assert(handle && "USERS::OpenSearch is always correct"); USER_PTR user; size_t count = 0; @@ -28,8 +29,7 @@ return true; std::string UsersSensor::ToString() const { int handle = users.OpenSearch(); -if (!handle) - return ""; +assert(handle && "USERS::OpenSearch is always correct"); USER_PTR user; size_t count = 0; @@ -46,3 +46,16 @@ x2str(count, res); return res; } #endif + +bool ActiveUsersSensor::UserPredicate(USER_PTR userPtr) const +{ +if (!userPtr->GetConnected()) + return false; +for (size_t i = 0; i < DIR_NUM; ++i) + { + if (userPtr->GetSessionUpload()[i] > 0 || + userPtr->GetSessionDownload()[i] > 0) + return true; + } +return false; +}