mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-30 02:02:36 +00:00
Signed-off-by: stephb9959 <stephane.bourque@gmail.com>
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user