-#include <cassert>
-#include <utility>
-#include <iterator>
-#include <algorithm>
+#include "tables.h"
#include "stg/user_property.h"
#include "stg/tariffs.h"
+#include "stg/tariff_conf.h"
#include "stg/users.h"
-#include "tables.h"
+#include <utility>
+#include <iterator>
+#include <algorithm>
+#include <cassert>
-std::pair<std::string, size_t> TD2Info(const TARIFF_DATA & td);
+using STG::TariffUsersTable;
+
+namespace
+{
+
+std::pair<std::string, size_t> TD2Info(const STG::TariffData & td)
+{
+ return std::make_pair(td.tariffConf.name, 0);
+}
+
+}
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(),
int handle = users.OpenSearch();
assert(handle && "USERS::OpenSearch is always correct");
-USER_PTR user;
+STG::User* user;
while (!users.SearchNext(handle, &user))
{
if (user->GetDeleted())
continue;
- std::string tariffName(user->GetProperty().tariffName.ConstData());
- std::map<std::string, size_t>::iterator it;
- it = data.lower_bound(tariffName);
+ 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)
{
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)
-{
-return std::make_pair(td.tariffConf.name, 0);
-}