git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cosmetic changes.
[stg.git]
/
projects
/
stargazer
/
plugins
/
other
/
smux
/
tables.cpp
diff --git
a/projects/stargazer/plugins/other/smux/tables.cpp
b/projects/stargazer/plugins/other/smux/tables.cpp
index 023b90b2b1df4f6f5db8d5b818368ca03d30b072..25b2dd85d8372b880bfa1be5e85f3b45ccafbede 100644
(file)
--- a/
projects/stargazer/plugins/other/smux/tables.cpp
+++ b/
projects/stargazer/plugins/other/smux/tables.cpp
@@
-1,23
+1,37
@@
+#include <cassert>
#include <utility>
#include <utility>
+#include <iterator>
+#include <algorithm>
#include "stg/user_property.h"
#include "stg/user_property.h"
+#include "stg/tariffs.h"
+#include "stg/users.h"
#include "tables.h"
#include "tables.h"
+std::pair<std::string, size_t> TD2Info(const TARIFF_DATA & td);
+
void TariffUsersTable::UpdateSensors(Sensors & sensors) const
{
std::map<std::string, size_t> data;
void TariffUsersTable::UpdateSensors(Sensors & sensors) const
{
std::map<std::string, size_t> data;
+std::list<TARIFF_DATA> tdl;
+tariffs.GetTariffsData(&tdl);
+std::transform(tdl.begin(),
+ tdl.end(),
+ std::inserter(data, data.begin()),
+ TD2Info);
+
int handle = users.OpenSearch();
int handle = users.OpenSearch();
-if (!handle)
- return;
+assert(handle && "USERS::OpenSearch is always correct");
USER_PTR user;
while (!users.SearchNext(handle, &user))
{
USER_PTR user;
while (!users.SearchNext(handle, &user))
{
+ if (user->GetDeleted())
+ continue;
std::string tariffName(user->GetProperty().tariffName.ConstData());
std::string tariffName(user->GetProperty().tariffName.ConstData());
- std::map<std::string, size_t>::iterator it;
- it = data.lower_bound(tariffName);
+ std::map<std::string, size_t>::iterator it(data.lower_bound(tariffName));
if (it == data.end() ||
it->first != tariffName)
{
if (it == data.end() ||
it->first != tariffName)
{
@@
-43,3
+57,8
@@
while (it != data.end())
++it;
}
}
++it;
}
}
+
+std::pair<std::string, size_t> TD2Info(const TARIFF_DATA & td)
+{
+return std::make_pair(td.tariffConf.name, 0);
+}