Skip to content

Commit

Permalink
https://telecominfraproject.atlassian.net/browse/WIFI-12945
Browse files Browse the repository at this point in the history
Signed-off-by: stephb9959 <[email protected]>
  • Loading branch information
stephb9959 committed Sep 22, 2023
1 parent 26fc29a commit 5a3ce59
Showing 1 changed file with 47 additions and 43 deletions.
90 changes: 47 additions & 43 deletions src/AutoDiscovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,58 +43,62 @@ namespace OpenWifi {
auto Object = Parser.parse(Msg->Payload()).extract<Poco::JSON::Object::Ptr>();
DBGLINE

std::cout << Msg->Payload() << std::endl;
if (Object->has(uCentralProtocol::PAYLOAD)) {
DBGLINE
auto PayloadObj = Object->getObject(uCentralProtocol::PAYLOAD);
std::string ConnectedIP, SerialNumber, DeviceType;
DBGLINE
if (PayloadObj->has(uCentralProtocol::CONNECTIONIP))
DBGLINE
ConnectedIP =
PayloadObj->get(uCentralProtocol::CONNECTIONIP).toString();
if (PayloadObj->has(uCentralProtocol::CAPABILITIES)) {
auto PayloadObj = Object->getObject(uCentralProtocol::PAYLOAD);
if (PayloadObj->has("ping")) {
auto PingObj = PayloadObj->getObject("ping");
std::string ConnectedIP, SerialNumber, DeviceType;
DBGLINE
auto CapObj = PayloadObj->getObject(uCentralProtocol::CAPABILITIES);
if (CapObj->has(uCentralProtocol::COMPATIBLE)) {
if (PayloadObj->has(uCentralProtocol::CONNECTIONIP))
DBGLINE
DeviceType = CapObj->get(uCentralProtocol::COMPATIBLE).toString();
SerialNumber = PayloadObj->get(uCentralProtocol::SERIAL).toString();
ConnectedIP =
PayloadObj->get(uCentralProtocol::CONNECTIONIP).toString();
if (PayloadObj->has(uCentralProtocol::CAPABILITIES)) {
DBGLINE
}
} else if (PayloadObj->has(uCentralProtocol::PING)) {
DBGLINE
auto PingMessage = PayloadObj->getObject(uCentralProtocol::PING);
DBGLINE
if (PingMessage->has(uCentralProtocol::FIRMWARE) &&
PingMessage->has(uCentralProtocol::SERIALNUMBER) &&
PingMessage->has(uCentralProtocol::COMPATIBLE)) {
if (PingMessage->has(uCentralProtocol::CONNECTIONIP))
ConnectedIP =
PingMessage->get(uCentralProtocol::CONNECTIONIP).toString();
SerialNumber =
PingMessage->get(uCentralProtocol::SERIALNUMBER).toString();
DeviceType =
PingMessage->get(uCentralProtocol::COMPATIBLE).toString();
auto CapObj = PayloadObj->getObject(uCentralProtocol::CAPABILITIES);
if (CapObj->has(uCentralProtocol::COMPATIBLE)) {
DBGLINE
DeviceType = CapObj->get(uCentralProtocol::COMPATIBLE).toString();
SerialNumber = PayloadObj->get(uCentralProtocol::SERIAL).toString();
DBGLINE
}
} else if (PayloadObj->has(uCentralProtocol::PING)) {
DBGLINE
}
DBGLINE
}
std::string Locale;
if (PayloadObj->has("locale")) {
DBGLINE
Locale = PayloadObj->get("locale").toString();
DBGLINE
}
auto PingMessage = PayloadObj->getObject(uCentralProtocol::PING);
DBGLINE
if (PingMessage->has(uCentralProtocol::FIRMWARE) &&
PingMessage->has(uCentralProtocol::SERIALNUMBER) &&
PingMessage->has(uCentralProtocol::COMPATIBLE)) {
if (PingMessage->has(uCentralProtocol::CONNECTIONIP))
ConnectedIP =
PingMessage->get(uCentralProtocol::CONNECTIONIP).toString();
SerialNumber =
PingMessage->get(uCentralProtocol::SERIALNUMBER).toString();
DeviceType =
PingMessage->get(uCentralProtocol::COMPATIBLE).toString();
DBGLINE
}
DBGLINE
}
std::string Locale;
if (PayloadObj->has("locale")) {
DBGLINE
Locale = PayloadObj->get("locale").toString();
DBGLINE
}

if (!SerialNumber.empty()) {
DBGLINE
StorageService()->InventoryDB().CreateFromConnection(
SerialNumber, ConnectedIP, DeviceType, Locale);
}
}
if (!SerialNumber.empty()) {
DBGLINE
StorageService()->InventoryDB().CreateFromConnection(
SerialNumber, ConnectedIP, DeviceType, Locale);
}
}
}
} catch (const Poco::Exception &E) {
DBGLINE
std::cout << Msg->Payload() << std::endl;
std::cout << "EX:" << Msg->Payload() << std::endl;
Logger().log(E);
DBGLINE
} catch (...) {
Expand Down

0 comments on commit 5a3ce59

Please sign in to comment.