X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/76e975a593f0194edcbfbfc952eb391b2b8605cf..257926c2903778a49000e81ba14f090106af0edc:/projects/stargazer/plugins/other/smux/sensors.cpp diff --git a/projects/stargazer/plugins/other/smux/sensors.cpp b/projects/stargazer/plugins/other/smux/sensors.cpp index 7721d7b7..9cfdadd0 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; @@ -23,3 +24,25 @@ users.CloseSearch(handle); ValueToOS(count, objectSyntax); return true; } + +#ifdef DEBUG +std::string UsersSensor::ToString() const +{ +int handle = users.OpenSearch(); +assert(handle && "USERS::OpenSearch is always correct"); + +USER_PTR user; +size_t count = 0; +while (!users.SearchNext(handle, &user)) + { + if (UserPredicate(user)) + ++count; + } + +users.CloseSearch(handle); + +std::string res; +x2str(count, res); +return res; +} +#endif