stephb9959
2023-02-08 20:38:05 -08:00
parent 865ad612e6
commit cb2f9a91b5
7 changed files with 187 additions and 7 deletions

View File

@@ -32,6 +32,43 @@ namespace OpenWifi::SDK::FMS {
return false;
}
bool GetDeviceTypeFirmwares(const std::string &device_type, std::vector<FMSObjects::Firmware> & FirmWares) {
static const std::string EndPoint{"/api/v1/firmwares"};
OpenWifi::OpenAPIRequestGet API( uSERVICE_FIRMWARE,
EndPoint,
{
{ "deviceType", device_type}
},
50000);
auto CallResponse = Poco::makeShared<Poco::JSON::Object>();
auto StatusCode = API.Do(CallResponse);
if( StatusCode == Poco::Net::HTTPResponse::HTTP_OK) {
Poco::JSON::Array::Ptr FirmwareArr = CallResponse->getArray("firmwares");
for(uint64_t i=0;i<FirmwareArr->size();i++) {
FMSObjects::Firmware F;
F.from_json(FirmwareArr->getObject(i));
FirmWares.emplace_back(F);
}
return true;
}
return false;
}
bool GetFirmware(const std::string &device_type, const std::string & revision, FMSObjects::Firmware & Firmware) {
std::vector<FMSObjects::Firmware> Firmwares;
if(GetDeviceTypeFirmwares(device_type,Firmwares)) {
for(const auto &firmware:Firmwares) {
if(firmware.revision==revision) {
Firmware = firmware;
return true;
}
}
}
return false;
}
}
};