X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/5f2937099a707ddb360954f5c10fe79cfa906110..471a8ddb278cb5621e36a6c45e450d40580e50fd:/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 <cassert>
+
 #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;
+}