// // Created by stephane bourque on 2021-08-31. // #include "framework/RESTAPI_utils.h" using OpenWifi::RESTAPI_utils::EmbedDocument; using OpenWifi::RESTAPI_utils::field_from_json; using OpenWifi::RESTAPI_utils::field_to_json; #include "RESTAPI_OWLSobjects.h" // SIM -> 0x53/0x073, 0x49/0x69, 0x4d/0x6d namespace OpenWifi::OWLSObjects { void SimulationDetails::to_json(Poco::JSON::Object &Obj) const { field_to_json(Obj, "id", id); field_to_json(Obj, "name", name); field_to_json(Obj, "gateway", gateway); field_to_json(Obj, "certificate", certificate); field_to_json(Obj, "key", key); field_to_json(Obj, "macPrefix", macPrefix); field_to_json(Obj, "deviceType", deviceType); field_to_json(Obj, "devices", devices); field_to_json(Obj, "healthCheckInterval", healthCheckInterval); field_to_json(Obj, "stateInterval", stateInterval); field_to_json(Obj, "minAssociations", minAssociations); field_to_json(Obj, "maxAssociations", maxAssociations); field_to_json(Obj, "minClients", minClients); field_to_json(Obj, "maxClients", maxClients); field_to_json(Obj, "simulationLength", simulationLength); field_to_json(Obj, "threads", threads); field_to_json(Obj, "clientInterval", clientInterval); field_to_json(Obj, "keepAlive", keepAlive); field_to_json(Obj, "reconnectInterval", reconnectInterval); field_to_json(Obj, "concurrentDevices", concurrentDevices); } bool SimulationDetails::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, "gateway", gateway); field_from_json(Obj, "certificate", certificate); field_from_json(Obj, "key", key); field_from_json(Obj, "macPrefix", macPrefix); field_from_json(Obj, "deviceType", deviceType); field_from_json(Obj, "devices", devices); field_from_json(Obj, "healthCheckInterval", healthCheckInterval); field_from_json(Obj, "stateInterval", stateInterval); field_from_json(Obj, "minAssociations", minAssociations); field_from_json(Obj, "maxAssociations", maxAssociations); field_from_json(Obj, "minClients", minClients); field_from_json(Obj, "maxClients", maxClients); field_from_json(Obj, "simulationLength", simulationLength); field_from_json(Obj, "threads", threads); field_from_json(Obj, "clientInterval", clientInterval); field_from_json(Obj, "keepAlive", keepAlive); field_from_json(Obj, "reconnectInterval", reconnectInterval); field_from_json(Obj, "concurrentDevices", concurrentDevices); return true; } catch (...) { } return false; } void SimulationDetailsList::to_json(Poco::JSON::Object &Obj) const { field_to_json(Obj, "list", list); } bool SimulationDetailsList::from_json(const Poco::JSON::Object::Ptr &Obj) { try { field_from_json(Obj, "list", list); return true; } catch (...) { } return false; } void SimulationStatus::to_json(Poco::JSON::Object &Obj) const { field_to_json(Obj, "id", id); field_to_json(Obj, "simulationId", simulationId); field_to_json(Obj, "state", state); field_to_json(Obj, "tx", tx); field_to_json(Obj, "rx", rx); field_to_json(Obj, "msgsTx", msgsTx); field_to_json(Obj, "msgsRx", msgsRx); field_to_json(Obj, "liveDevices", liveDevices); field_to_json(Obj, "timeToFullDevices", timeToFullDevices); field_to_json(Obj, "startTime", startTime); field_to_json(Obj, "endTime", endTime); field_to_json(Obj, "errorDevices", errorDevices); field_to_json(Obj, "owner", owner); field_to_json(Obj, "expectedDevices", expectedDevices); } void Dashboard::to_json([[maybe_unused]] Poco::JSON::Object &Obj) const {} bool Dashboard::from_json([[maybe_unused]] const Poco::JSON::Object::Ptr &Obj) { return true; } void Dashboard::reset() {} } // namespace OpenWifi::OWLSObjects