mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralfms.git
synced 2025-11-01 19:27:47 +00:00
605 lines
22 KiB
C++
605 lines
22 KiB
C++
//
|
|
// Created by stephane bourque on 2022-01-10.
|
|
//
|
|
|
|
#include "RESTAPI_AnalyticsObjects.h"
|
|
#include "RESTAPI_ProvObjects.h"
|
|
#include "framework/RESTAPI_utils.h"
|
|
|
|
using OpenWifi::RESTAPI_utils::field_from_json;
|
|
using OpenWifi::RESTAPI_utils::field_to_json;
|
|
|
|
namespace OpenWifi::AnalyticsObjects {
|
|
|
|
void Report::reset() {}
|
|
|
|
void Report::to_json([[maybe_unused]] Poco::JSON::Object &Obj) const {}
|
|
|
|
void VenueInfo::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "name", name);
|
|
field_to_json(Obj, "description", description);
|
|
field_to_json(Obj, "retention", retention);
|
|
field_to_json(Obj, "interval", interval);
|
|
field_to_json(Obj, "monitorSubVenues", monitorSubVenues);
|
|
}
|
|
|
|
bool VenueInfo::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "name", name);
|
|
field_from_json(Obj, "description", description);
|
|
field_from_json(Obj, "retention", retention);
|
|
field_from_json(Obj, "interval", interval);
|
|
field_from_json(Obj, "monitorSubVenues", monitorSubVenues);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void BoardInfo::to_json(Poco::JSON::Object &Obj) const {
|
|
info.to_json(Obj);
|
|
field_to_json(Obj, "venueList", venueList);
|
|
}
|
|
|
|
bool BoardInfo::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
info.from_json(Obj);
|
|
field_from_json(Obj, "venueList", venueList);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceInfo::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "boardId", boardId);
|
|
field_to_json(Obj, "type", type);
|
|
field_to_json(Obj, "serialNumber", serialNumber);
|
|
field_to_json(Obj, "deviceType", deviceType);
|
|
field_to_json(Obj, "lastContact", lastContact);
|
|
field_to_json(Obj, "lastPing", lastPing);
|
|
field_to_json(Obj, "lastState", lastState);
|
|
field_to_json(Obj, "lastFirmware", lastFirmware);
|
|
field_to_json(Obj, "lastFirmwareUpdate", lastFirmwareUpdate);
|
|
field_to_json(Obj, "lastConnection", lastConnection);
|
|
field_to_json(Obj, "lastDisconnection", lastDisconnection);
|
|
field_to_json(Obj, "pings", pings);
|
|
field_to_json(Obj, "states", states);
|
|
field_to_json(Obj, "connected", connected);
|
|
field_to_json(Obj, "connectionIp", connectionIp);
|
|
field_to_json(Obj, "associations_2g", associations_2g);
|
|
field_to_json(Obj, "associations_5g", associations_5g);
|
|
field_to_json(Obj, "associations_6g", associations_6g);
|
|
field_to_json(Obj, "health", health);
|
|
field_to_json(Obj, "lastHealth", lastHealth);
|
|
field_to_json(Obj, "locale", locale);
|
|
field_to_json(Obj, "uptime", uptime);
|
|
field_to_json(Obj, "memory", memory);
|
|
}
|
|
|
|
bool DeviceInfo::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "boardId", boardId);
|
|
field_from_json(Obj, "type", type);
|
|
field_from_json(Obj, "serialNumber", serialNumber);
|
|
field_from_json(Obj, "deviceType", deviceType);
|
|
field_from_json(Obj, "lastContact", lastContact);
|
|
field_from_json(Obj, "lastPing", lastPing);
|
|
field_from_json(Obj, "lastState", lastState);
|
|
field_from_json(Obj, "lastFirmware", lastFirmware);
|
|
field_from_json(Obj, "lastFirmwareUpdate", lastFirmwareUpdate);
|
|
field_from_json(Obj, "lastConnection", lastConnection);
|
|
field_from_json(Obj, "lastDisconnection", lastDisconnection);
|
|
field_from_json(Obj, "pings", pings);
|
|
field_from_json(Obj, "states", states);
|
|
field_from_json(Obj, "connected", connected);
|
|
field_from_json(Obj, "connectionIp", connectionIp);
|
|
field_from_json(Obj, "associations_2g", associations_2g);
|
|
field_from_json(Obj, "associations_5g", associations_5g);
|
|
field_from_json(Obj, "associations_6g", associations_6g);
|
|
field_from_json(Obj, "health", health);
|
|
field_from_json(Obj, "lastHealth", lastHealth);
|
|
field_from_json(Obj, "locale", locale);
|
|
field_from_json(Obj, "uptime", uptime);
|
|
field_from_json(Obj, "memory", memory);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceInfoList::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "devices", devices);
|
|
}
|
|
|
|
bool DeviceInfoList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "devices", devices);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void UE_rate::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "bitrate", bitrate);
|
|
field_to_json(Obj, "mcs", mcs);
|
|
field_to_json(Obj, "nss", nss);
|
|
field_to_json(Obj, "ht", ht);
|
|
field_to_json(Obj, "sgi", sgi);
|
|
field_to_json(Obj, "chwidth", chwidth);
|
|
}
|
|
|
|
bool UE_rate::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "bitrate", bitrate);
|
|
field_from_json(Obj, "mcs", mcs);
|
|
field_from_json(Obj, "nss", nss);
|
|
field_from_json(Obj, "ht", ht);
|
|
field_from_json(Obj, "sgi", sgi);
|
|
field_from_json(Obj, "chwidth", chwidth);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void UETimePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "station", station);
|
|
field_to_json(Obj, "rssi", rssi);
|
|
field_to_json(Obj, "tx_bytes", tx_bytes);
|
|
field_to_json(Obj, "rx_bytes", rx_bytes);
|
|
field_to_json(Obj, "tx_duration", tx_duration);
|
|
field_to_json(Obj, "rx_packets", rx_packets);
|
|
field_to_json(Obj, "tx_packets", tx_packets);
|
|
field_to_json(Obj, "tx_retries", tx_retries);
|
|
field_to_json(Obj, "tx_failed", tx_failed);
|
|
field_to_json(Obj, "connected", connected);
|
|
field_to_json(Obj, "inactive", inactive);
|
|
field_to_json(Obj, "tx_rate", tx_rate);
|
|
field_to_json(Obj, "rx_rate", rx_rate);
|
|
// field_to_json(Obj, "tidstats", tidstats);
|
|
|
|
field_to_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_to_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_to_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_to_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_to_json(Obj, "tx_failed_pct", tx_failed_pct);
|
|
field_to_json(Obj, "tx_retries_pct", tx_retries_pct);
|
|
field_to_json(Obj, "tx_duration_pct", tx_duration_pct);
|
|
|
|
field_to_json(Obj, "tx_bytes_delta", tx_bytes_delta);
|
|
field_to_json(Obj, "rx_bytes_delta", rx_bytes_delta);
|
|
field_to_json(Obj, "tx_packets_delta", tx_packets_delta);
|
|
field_to_json(Obj, "rx_packets_delta", rx_packets_delta);
|
|
field_to_json(Obj, "tx_failed_delta", tx_failed_delta);
|
|
field_to_json(Obj, "tx_retries_delta", tx_retries_delta);
|
|
field_to_json(Obj, "tx_duration_delta", tx_duration_delta);
|
|
}
|
|
|
|
bool UETimePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "station", station);
|
|
field_from_json(Obj, "rssi", rssi);
|
|
field_from_json(Obj, "tx_bytes", tx_bytes);
|
|
field_from_json(Obj, "rx_bytes", rx_bytes);
|
|
field_from_json(Obj, "tx_duration", tx_duration);
|
|
field_from_json(Obj, "rx_packets", rx_packets);
|
|
field_from_json(Obj, "tx_packets", tx_packets);
|
|
field_from_json(Obj, "tx_retries", tx_retries);
|
|
field_from_json(Obj, "tx_failed", tx_failed);
|
|
field_from_json(Obj, "connected", connected);
|
|
field_from_json(Obj, "inactive", inactive);
|
|
field_from_json(Obj, "tx_rate", tx_rate);
|
|
field_from_json(Obj, "rx_rate", rx_rate);
|
|
// field_from_json(Obj,"tidstats",tidstats);
|
|
field_from_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_from_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_from_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_from_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_from_json(Obj, "tx_failed_pct", tx_failed_pct);
|
|
field_from_json(Obj, "tx_retries_pct", tx_retries_pct);
|
|
field_from_json(Obj, "tx_duration_pct", tx_duration_pct);
|
|
field_from_json(Obj, "tx_bytes_delta", tx_bytes_delta);
|
|
field_from_json(Obj, "rx_bytes_delta", rx_bytes_delta);
|
|
field_from_json(Obj, "tx_packets_delta", tx_packets_delta);
|
|
field_from_json(Obj, "rx_packets_delta", rx_packets_delta);
|
|
field_from_json(Obj, "tx_failed_delta", tx_failed_delta);
|
|
field_from_json(Obj, "tx_retries_delta", tx_retries_delta);
|
|
field_from_json(Obj, "tx_duration_delta", tx_duration_delta);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void APTimePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "collisions", collisions);
|
|
field_to_json(Obj, "multicast", multicast);
|
|
field_to_json(Obj, "rx_bytes", rx_bytes);
|
|
field_to_json(Obj, "rx_dropped", rx_dropped);
|
|
field_to_json(Obj, "rx_errors", rx_errors);
|
|
field_to_json(Obj, "rx_packets", rx_packets);
|
|
field_to_json(Obj, "tx_bytes", tx_bytes);
|
|
field_to_json(Obj, "tx_packets", tx_packets);
|
|
field_to_json(Obj, "tx_dropped", tx_dropped);
|
|
field_to_json(Obj, "tx_errors", tx_errors);
|
|
field_to_json(Obj, "tx_packets", tx_packets);
|
|
|
|
field_to_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_to_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_to_json(Obj, "rx_dropped_pct", rx_dropped_pct);
|
|
field_to_json(Obj, "tx_dropped_pct", tx_dropped_pct);
|
|
field_to_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_to_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_to_json(Obj, "rx_errors_pct", rx_errors_pct);
|
|
field_to_json(Obj, "tx_errors_pct", tx_errors_pct);
|
|
|
|
field_to_json(Obj, "tx_bytes_delta", tx_bytes_delta);
|
|
field_to_json(Obj, "rx_bytes_delta", rx_bytes_delta);
|
|
field_to_json(Obj, "rx_dropped_delta", rx_dropped_delta);
|
|
field_to_json(Obj, "tx_dropped_delta", tx_dropped_delta);
|
|
field_to_json(Obj, "rx_packets_delta", rx_packets_delta);
|
|
field_to_json(Obj, "tx_packets_delta", tx_packets_delta);
|
|
field_to_json(Obj, "rx_errors_delta", rx_errors_delta);
|
|
field_to_json(Obj, "tx_errors_delta", tx_errors_delta);
|
|
}
|
|
|
|
bool APTimePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "collisions", collisions);
|
|
field_from_json(Obj, "multicast", multicast);
|
|
field_from_json(Obj, "rx_bytes", rx_bytes);
|
|
field_from_json(Obj, "rx_dropped", rx_dropped);
|
|
field_from_json(Obj, "rx_errors", rx_errors);
|
|
field_from_json(Obj, "rx_packets", rx_packets);
|
|
field_from_json(Obj, "tx_bytes", tx_bytes);
|
|
field_from_json(Obj, "tx_packets", tx_packets);
|
|
field_from_json(Obj, "tx_dropped", tx_dropped);
|
|
field_from_json(Obj, "tx_errors", tx_errors);
|
|
field_from_json(Obj, "tx_packets", tx_packets);
|
|
|
|
field_from_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_from_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_from_json(Obj, "rx_dropped_pct", rx_dropped_pct);
|
|
field_from_json(Obj, "tx_dropped_pct", tx_dropped_pct);
|
|
field_from_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_from_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_from_json(Obj, "rx_errors_pct", rx_errors_pct);
|
|
field_from_json(Obj, "tx_errors_pct", tx_errors_pct);
|
|
|
|
field_from_json(Obj, "tx_bytes_delta", tx_bytes_delta);
|
|
field_from_json(Obj, "rx_bytes_delta", rx_bytes_delta);
|
|
field_from_json(Obj, "rx_dropped_delta", rx_dropped_delta);
|
|
field_from_json(Obj, "tx_dropped_delta", tx_dropped_delta);
|
|
field_from_json(Obj, "rx_packets_delta", rx_packets_delta);
|
|
field_from_json(Obj, "tx_packets_delta", tx_packets_delta);
|
|
field_from_json(Obj, "rx_errors_delta", rx_errors_delta);
|
|
field_from_json(Obj, "tx_errors_delta", tx_errors_delta);
|
|
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void TIDstat_entry::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "rx_msdu", rx_msdu);
|
|
field_to_json(Obj, "tx_msdu", tx_msdu);
|
|
field_to_json(Obj, "tx_msdu_failed", tx_msdu_failed);
|
|
field_to_json(Obj, "tx_msdu_retries", tx_msdu_retries);
|
|
}
|
|
|
|
bool TIDstat_entry::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "rx_msdu", rx_msdu);
|
|
field_from_json(Obj, "tx_msdu", tx_msdu);
|
|
field_from_json(Obj, "tx_msdu_failed", tx_msdu_failed);
|
|
field_from_json(Obj, "tx_msdu_retries", tx_msdu_retries);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void RadioTimePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "band", band);
|
|
field_to_json(Obj, "channel_width", channel_width);
|
|
field_to_json(Obj, "active_ms", active_ms);
|
|
field_to_json(Obj, "busy_ms", busy_ms);
|
|
field_to_json(Obj, "receive_ms", receive_ms);
|
|
field_to_json(Obj, "transmit_ms", transmit_ms);
|
|
field_to_json(Obj, "tx_power", tx_power);
|
|
field_to_json(Obj, "channel", channel);
|
|
field_to_json(Obj, "temperature", temperature);
|
|
field_to_json(Obj, "noise", noise);
|
|
field_to_json(Obj, "active_pct", active_pct);
|
|
field_to_json(Obj, "busy_pct", busy_pct);
|
|
field_to_json(Obj, "receive_pct", receive_pct);
|
|
field_to_json(Obj, "transmit_pct", transmit_pct);
|
|
}
|
|
|
|
bool RadioTimePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "band", band);
|
|
field_from_json(Obj, "channel_width", channel_width);
|
|
field_from_json(Obj, "active_ms", active_ms);
|
|
field_from_json(Obj, "busy_ms", busy_ms);
|
|
field_from_json(Obj, "receive_ms", receive_ms);
|
|
field_from_json(Obj, "transmit_ms", transmit_ms);
|
|
field_from_json(Obj, "tx_power", tx_power);
|
|
field_from_json(Obj, "channel", channel);
|
|
field_from_json(Obj, "temperature", temperature);
|
|
field_from_json(Obj, "noise", noise);
|
|
field_from_json(Obj, "active_pct", active_pct);
|
|
field_from_json(Obj, "busy_pct", busy_pct);
|
|
field_from_json(Obj, "receive_pct", receive_pct);
|
|
field_from_json(Obj, "transmit_pct", transmit_pct);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void AveragePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "min", min);
|
|
field_to_json(Obj, "max", max);
|
|
field_to_json(Obj, "avg", avg);
|
|
}
|
|
|
|
bool AveragePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "min", min);
|
|
field_from_json(Obj, "max", max);
|
|
field_from_json(Obj, "avg", avg);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void SSIDTimePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "bssid", bssid);
|
|
field_to_json(Obj, "mode", mode);
|
|
field_to_json(Obj, "ssid", ssid);
|
|
field_to_json(Obj, "band", band);
|
|
field_to_json(Obj, "channel", channel);
|
|
field_to_json(Obj, "associations", associations);
|
|
field_to_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_to_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_to_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_to_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_to_json(Obj, "tx_failed_pct", tx_failed_pct);
|
|
field_to_json(Obj, "tx_retries_pct", tx_retries_pct);
|
|
field_to_json(Obj, "tx_duration_pct", tx_duration_pct);
|
|
}
|
|
|
|
bool SSIDTimePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "bssid", bssid);
|
|
field_from_json(Obj, "mode", mode);
|
|
field_from_json(Obj, "ssid", ssid);
|
|
field_from_json(Obj, "band", band);
|
|
field_from_json(Obj, "channel", channel);
|
|
field_from_json(Obj, "associations", associations);
|
|
field_from_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_from_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_from_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_from_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_from_json(Obj, "tx_failed_pct", tx_failed_pct);
|
|
field_from_json(Obj, "tx_retries_pct", tx_retries_pct);
|
|
field_from_json(Obj, "tx_duration_pct", tx_duration_pct);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceTimePoint::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "id", id);
|
|
field_to_json(Obj, "boardId", boardId);
|
|
field_to_json(Obj, "timestamp", timestamp);
|
|
field_to_json(Obj, "ap_data", ap_data);
|
|
field_to_json(Obj, "ssid_data", ssid_data);
|
|
field_to_json(Obj, "radio_data", radio_data);
|
|
field_to_json(Obj, "device_info", device_info);
|
|
field_to_json(Obj, "serialNumber", serialNumber);
|
|
}
|
|
|
|
bool DeviceTimePoint::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "id", id);
|
|
field_from_json(Obj, "boardId", boardId);
|
|
field_from_json(Obj, "timestamp", timestamp);
|
|
field_from_json(Obj, "ap_data", ap_data);
|
|
field_from_json(Obj, "ssid_data", ssid_data);
|
|
field_from_json(Obj, "radio_data", radio_data);
|
|
field_from_json(Obj, "device_info", device_info);
|
|
field_from_json(Obj, "serialNumber", serialNumber);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceTimePointAnalysis::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "noise", noise);
|
|
field_to_json(Obj, "temperature", temperature);
|
|
field_to_json(Obj, "active_pct", active_pct);
|
|
field_to_json(Obj, "busy_pct", busy_pct);
|
|
field_to_json(Obj, "receive_pct", receive_pct);
|
|
field_to_json(Obj, "transmit_pct", transmit_pct);
|
|
field_to_json(Obj, "tx_power", tx_power);
|
|
field_to_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_to_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_to_json(Obj, "rx_dropped_pct", rx_dropped_pct);
|
|
field_to_json(Obj, "tx_dropped_pct", tx_dropped_pct);
|
|
field_to_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_to_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_to_json(Obj, "rx_errors_pct", rx_errors_pct);
|
|
field_to_json(Obj, "tx_errors_pct", tx_errors_pct);
|
|
}
|
|
|
|
bool DeviceTimePointAnalysis::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "noise", noise);
|
|
field_from_json(Obj, "temperature", temperature);
|
|
field_from_json(Obj, "active_pct", active_pct);
|
|
field_from_json(Obj, "busy_pct", busy_pct);
|
|
field_from_json(Obj, "receive_pct", receive_pct);
|
|
field_from_json(Obj, "transmit_pct", transmit_pct);
|
|
field_from_json(Obj, "tx_power", tx_power);
|
|
field_from_json(Obj, "tx_bytes_bw", tx_bytes_bw);
|
|
field_from_json(Obj, "rx_bytes_bw", rx_bytes_bw);
|
|
field_from_json(Obj, "rx_dropped_pct", rx_dropped_pct);
|
|
field_from_json(Obj, "tx_dropped_pct", tx_dropped_pct);
|
|
field_from_json(Obj, "rx_packets_bw", rx_packets_bw);
|
|
field_from_json(Obj, "tx_packets_bw", tx_packets_bw);
|
|
field_from_json(Obj, "rx_errors_pct", rx_errors_pct);
|
|
field_from_json(Obj, "tx_errors_pct", tx_errors_pct);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceTimePointList::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "points", points);
|
|
field_to_json(Obj, "stats", stats);
|
|
}
|
|
|
|
bool DeviceTimePointList::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "points", points);
|
|
field_from_json(Obj, "stats", stats);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void DeviceTimePointStats::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "firstPoint", firstPoint);
|
|
field_to_json(Obj, "lastPoint", lastPoint);
|
|
field_to_json(Obj, "count", count);
|
|
}
|
|
|
|
bool DeviceTimePointStats::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "firstPoint", firstPoint);
|
|
field_from_json(Obj, "lastPoint", lastPoint);
|
|
field_from_json(Obj, "count", count);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void WifiClientRate::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "bitrate", bitrate);
|
|
field_to_json(Obj, "chwidth", chwidth);
|
|
field_to_json(Obj, "mcs", mcs);
|
|
field_to_json(Obj, "nss", nss);
|
|
field_to_json(Obj, "vht", vht);
|
|
}
|
|
|
|
bool WifiClientRate::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "bitrate", bitrate);
|
|
field_from_json(Obj, "chwidth", chwidth);
|
|
field_from_json(Obj, "mcs", mcs);
|
|
field_from_json(Obj, "nss", nss);
|
|
field_from_json(Obj, "vht", vht);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void WifiClientHistory::to_json(Poco::JSON::Object &Obj) const {
|
|
field_to_json(Obj, "timestamp", timestamp);
|
|
field_to_json(Obj, "station_id", station_id);
|
|
field_to_json(Obj, "bssid", bssid);
|
|
field_to_json(Obj, "ssid", ssid);
|
|
field_to_json(Obj, "rssi", rssi);
|
|
field_to_json(Obj, "rx_bitrate", rx_bitrate);
|
|
field_to_json(Obj, "rx_chwidth", rx_chwidth);
|
|
field_to_json(Obj, "rx_mcs", rx_mcs);
|
|
field_to_json(Obj, "rx_nss", rx_nss);
|
|
field_to_json(Obj, "rx_vht", rx_vht);
|
|
field_to_json(Obj, "tx_bitrate", tx_bitrate);
|
|
field_to_json(Obj, "tx_chwidth", tx_chwidth);
|
|
field_to_json(Obj, "tx_mcs", tx_mcs);
|
|
field_to_json(Obj, "tx_nss", tx_nss);
|
|
field_to_json(Obj, "tx_vht", tx_vht);
|
|
field_to_json(Obj, "rx_bytes", rx_bytes);
|
|
field_to_json(Obj, "tx_bytes", tx_bytes);
|
|
field_to_json(Obj, "rx_duration", rx_duration);
|
|
field_to_json(Obj, "tx_duration", tx_duration);
|
|
field_to_json(Obj, "rx_packets", rx_packets);
|
|
field_to_json(Obj, "tx_packets", tx_packets);
|
|
field_to_json(Obj, "ipv4", ipv4);
|
|
field_to_json(Obj, "ipv6", ipv6);
|
|
field_to_json(Obj, "channel_width", channel_width);
|
|
field_to_json(Obj, "noise", noise);
|
|
field_to_json(Obj, "tx_power", tx_power);
|
|
field_to_json(Obj, "channel", channel);
|
|
field_to_json(Obj, "active_ms", active_ms);
|
|
field_to_json(Obj, "busy_ms", busy_ms);
|
|
field_to_json(Obj, "receive_ms", receive_ms);
|
|
field_to_json(Obj, "mode", mode);
|
|
field_to_json(Obj, "ack_signal", ack_signal);
|
|
field_to_json(Obj, "ack_signal_avg", ack_signal_avg);
|
|
field_to_json(Obj, "connected", connected);
|
|
field_to_json(Obj, "inactive", inactive);
|
|
field_to_json(Obj, "tx_retries", tx_retries);
|
|
field_to_json(Obj, "venue_id", venue_id);
|
|
}
|
|
|
|
bool WifiClientHistory::from_json(const Poco::JSON::Object::Ptr &Obj) {
|
|
try {
|
|
field_from_json(Obj, "timestamp", timestamp);
|
|
field_from_json(Obj, "station_id", station_id);
|
|
field_from_json(Obj, "bssid", bssid);
|
|
field_from_json(Obj, "ssid", ssid);
|
|
field_from_json(Obj, "rssi", rssi);
|
|
field_from_json(Obj, "rx_bitrate", rx_bitrate);
|
|
field_from_json(Obj, "rx_chwidth", rx_chwidth);
|
|
field_from_json(Obj, "rx_mcs", rx_mcs);
|
|
field_from_json(Obj, "rx_nss", rx_nss);
|
|
field_from_json(Obj, "rx_vht", rx_vht);
|
|
field_from_json(Obj, "tx_bitrate", tx_bitrate);
|
|
field_from_json(Obj, "tx_chwidth", tx_chwidth);
|
|
field_from_json(Obj, "tx_mcs", tx_mcs);
|
|
field_from_json(Obj, "tx_nss", tx_nss);
|
|
field_from_json(Obj, "tx_vht", tx_vht);
|
|
field_from_json(Obj, "rx_bytes", rx_bytes);
|
|
field_from_json(Obj, "tx_bytes", tx_bytes);
|
|
field_from_json(Obj, "rx_duration", rx_duration);
|
|
field_from_json(Obj, "tx_duration", tx_duration);
|
|
field_from_json(Obj, "rx_packets", rx_packets);
|
|
field_from_json(Obj, "tx_packets", tx_packets);
|
|
field_from_json(Obj, "ipv4", ipv4);
|
|
field_from_json(Obj, "ipv6", ipv6);
|
|
field_from_json(Obj, "channel_width", channel_width);
|
|
field_from_json(Obj, "noise", noise);
|
|
field_from_json(Obj, "tx_power", tx_power);
|
|
field_from_json(Obj, "channel", channel);
|
|
field_from_json(Obj, "active_ms", active_ms);
|
|
field_from_json(Obj, "busy_ms", busy_ms);
|
|
field_from_json(Obj, "receive_ms", receive_ms);
|
|
field_from_json(Obj, "mode", mode);
|
|
field_from_json(Obj, "ack_signal", ack_signal);
|
|
field_from_json(Obj, "ack_signal_avg", ack_signal_avg);
|
|
field_from_json(Obj, "connected", connected);
|
|
field_from_json(Obj, "inactive", inactive);
|
|
field_from_json(Obj, "tx_retries", tx_retries);
|
|
field_from_json(Obj, "venue_id", venue_id);
|
|
return true;
|
|
} catch (...) {
|
|
}
|
|
return false;
|
|
}
|
|
} // namespace OpenWifi::AnalyticsObjects
|