main: handle error checking with handler creation
Actually verify the library was configured to handle at least one
firmware type.
Change-Id: Ie80c8a1fb5ac11d9d31d67258246c0a064fd42b8
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/main.cpp b/main.cpp
index ba2389a..ec0f53b 100644
--- a/main.cpp
+++ b/main.cpp
@@ -31,10 +31,18 @@
supportedTransports |= static_cast<std::uint32_t>(FirmwareUpdateFlags::lpc);
#endif
+ auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
+ supportedFirmware, supportedTransports);
+
+ if (!handler)
+ {
+ log<level::ERR>("Firmware Handler has invalid configuration");
+ return;
+ }
+
auto* manager = getBlobManager();
- if (!manager->registerHandler(
- FirmwareBlobHandler::CreateFirmwareBlobHandler(
- supportedFirmware, supportedTransports)))
+
+ if (!manager->registerHandler(std::move(handler)))
{
log<level::ERR>("Failed to register Firmware Handler");
}