]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/other/smux/tables.cpp
Another `stgTime` case.
[stg.git] / projects / stargazer / plugins / other / smux / tables.cpp
index 962c91a8207f3e288ceb2e1eb1adb1ffcc56223f..21173b7023de011624d480863dc2a1fe999c741f 100644 (file)
@@ -5,17 +5,18 @@
 
 #include "stg/user_property.h"
 #include "stg/tariffs.h"
+#include "stg/tariff_conf.h"
 #include "stg/users.h"
 
 #include "tables.h"
 
-std::pair<std::string, size_t> TD2Info(const TARIFF_DATA & td);
+std::pair<std::string, size_t> TD2Info(const STG::TariffData & td);
 
 void TariffUsersTable::UpdateSensors(Sensors & sensors) const
 {
 std::map<std::string, size_t> data;
 
-std::list<TARIFF_DATA> tdl;
+std::vector<STG::TariffData> tdl;
 tariffs.GetTariffsData(&tdl);
 std::transform(tdl.begin(),
                tdl.end(),
@@ -25,12 +26,13 @@ std::transform(tdl.begin(),
 int handle = users.OpenSearch();
 assert(handle && "USERS::OpenSearch is always correct");
 
-USER_PTR user;
+STG::User* user;
 while (!users.SearchNext(handle, &user))
     {
-    std::string tariffName(user->GetProperty().tariffName.ConstData());
-    std::map<std::string, size_t>::iterator it;
-    it = data.lower_bound(tariffName);
+    if (user->GetDeleted())
+        continue;
+    std::string tariffName(user->GetProperties().tariffName.ConstData());
+    std::map<std::string, size_t>::iterator it(data.lower_bound(tariffName));
     if (it == data.end() ||
         it->first != tariffName)
         {
@@ -50,14 +52,14 @@ OID prefixOid(prefix);
 std::map<std::string, size_t>::const_iterator it(data.begin());
 while (it != data.end())
     {
-    sensors[prefixOid.copyWithSuffix(2, idx)] = new ConstSensor<std::string>(it->first);
-    sensors[prefixOid.copyWithSuffix(3, idx)] = new ConstSensor<int>(it->second);
+    sensors[prefixOid.copyWithSuffix(2, static_cast<unsigned int>(idx))] = new ConstSensor<std::string>(it->first);
+    sensors[prefixOid.copyWithSuffix(3, static_cast<unsigned int>(idx))] = new ConstSensor<unsigned long>(it->second);
     ++idx;
     ++it;
     }
 }
 
-std::pair<std::string, size_t> TD2Info(const TARIFF_DATA & td)
+std::pair<std::string, size_t> TD2Info(const STG::TariffData & td)
 {
 return std::make_pair(td.tariffConf.name, 0);
 }