stephb9959
2023-09-22 13:37:54 -07:00
parent 5b040d132f
commit 19314815cd

View File

@@ -38,23 +38,33 @@ namespace OpenWifi {
auto Msg = dynamic_cast<DiscoveryMessage *>(Note.get()); auto Msg = dynamic_cast<DiscoveryMessage *>(Note.get());
if (Msg != nullptr) { if (Msg != nullptr) {
try { try {
DBGLINE
Poco::JSON::Parser Parser; Poco::JSON::Parser Parser;
auto Object = Parser.parse(Msg->Payload()).extract<Poco::JSON::Object::Ptr>(); auto Object = Parser.parse(Msg->Payload()).extract<Poco::JSON::Object::Ptr>();
DBGLINE
if (Object->has(uCentralProtocol::PAYLOAD)) { if (Object->has(uCentralProtocol::PAYLOAD)) {
DBGLINE
auto PayloadObj = Object->getObject(uCentralProtocol::PAYLOAD); auto PayloadObj = Object->getObject(uCentralProtocol::PAYLOAD);
std::string ConnectedIP, SerialNumber, DeviceType; std::string ConnectedIP, SerialNumber, DeviceType;
DBGLINE
if (PayloadObj->has(uCentralProtocol::CONNECTIONIP)) if (PayloadObj->has(uCentralProtocol::CONNECTIONIP))
DBGLINE
ConnectedIP = ConnectedIP =
PayloadObj->get(uCentralProtocol::CONNECTIONIP).toString(); PayloadObj->get(uCentralProtocol::CONNECTIONIP).toString();
if (PayloadObj->has(uCentralProtocol::CAPABILITIES)) { if (PayloadObj->has(uCentralProtocol::CAPABILITIES)) {
DBGLINE
auto CapObj = PayloadObj->getObject(uCentralProtocol::CAPABILITIES); auto CapObj = PayloadObj->getObject(uCentralProtocol::CAPABILITIES);
if (CapObj->has(uCentralProtocol::COMPATIBLE)) { if (CapObj->has(uCentralProtocol::COMPATIBLE)) {
DBGLINE
DeviceType = CapObj->get(uCentralProtocol::COMPATIBLE).toString(); DeviceType = CapObj->get(uCentralProtocol::COMPATIBLE).toString();
SerialNumber = PayloadObj->get(uCentralProtocol::SERIAL).toString(); SerialNumber = PayloadObj->get(uCentralProtocol::SERIAL).toString();
DBGLINE
} }
} else if (PayloadObj->has(uCentralProtocol::PING)) { } else if (PayloadObj->has(uCentralProtocol::PING)) {
DBGLINE
auto PingMessage = PayloadObj->getObject(uCentralProtocol::PING); auto PingMessage = PayloadObj->getObject(uCentralProtocol::PING);
DBGLINE
if (PingMessage->has(uCentralProtocol::FIRMWARE) && if (PingMessage->has(uCentralProtocol::FIRMWARE) &&
PingMessage->has(uCentralProtocol::SERIALNUMBER) && PingMessage->has(uCentralProtocol::SERIALNUMBER) &&
PingMessage->has(uCentralProtocol::COMPATIBLE)) { PingMessage->has(uCentralProtocol::COMPATIBLE)) {
@@ -65,24 +75,36 @@ namespace OpenWifi {
PingMessage->get(uCentralProtocol::SERIALNUMBER).toString(); PingMessage->get(uCentralProtocol::SERIALNUMBER).toString();
DeviceType = DeviceType =
PingMessage->get(uCentralProtocol::COMPATIBLE).toString(); PingMessage->get(uCentralProtocol::COMPATIBLE).toString();
DBGLINE
} }
DBGLINE
} }
std::string Locale; std::string Locale;
if (PayloadObj->has("locale")) if (PayloadObj->has("locale")) {
Locale = PayloadObj->get("locale").toString(); DBGLINE
Locale = PayloadObj->get("locale").toString();
DBGLINE
}
if (!SerialNumber.empty()) { if (!SerialNumber.empty()) {
DBGLINE
StorageService()->InventoryDB().CreateFromConnection( StorageService()->InventoryDB().CreateFromConnection(
SerialNumber, ConnectedIP, DeviceType, Locale); SerialNumber, ConnectedIP, DeviceType, Locale);
} }
} }
} catch (const Poco::Exception &E) { } catch (const Poco::Exception &E) {
DBGLINE
Logger().log(E); Logger().log(E);
DBGLINE
} catch (...) { } catch (...) {
DBGLINE
} }
} else { } else {
DBGLINE
} }
DBGLINE
Note = Queue_.waitDequeueNotification(); Note = Queue_.waitDequeueNotification();
DBGLINE
} }
} }