firmware: add sdbusplus for use by verification
The verification process starts a systemd service implemented outside
the scope of this codebase. Therefore, add sdbusplus to the build and
inject into the object.
Change-Id: Icaacb5d60334da78f6363682f3b97714eb482dcf
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/firmware_handler.hpp b/firmware_handler.hpp
index 36faa05..897606c 100644
--- a/firmware_handler.hpp
+++ b/firmware_handler.hpp
@@ -7,6 +7,7 @@
#include <cstdint>
#include <map>
#include <memory>
+#include <sdbusplus/bus.hpp>
#include <string>
#include <vector>
@@ -105,34 +106,38 @@
/**
* Create a FirmwareBlobHandler.
*
+ * @param[in] bus - an sdbusplus handler for a bus to use.
* @param[in] firmwares - list of firmware blob_ids to support.
* @param[in] transports - list of transports to support.
*/
static std::unique_ptr<GenericBlobInterface> CreateFirmwareBlobHandler(
- const std::vector<HandlerPack>& firmwares,
+ sdbusplus::bus::bus&& bus, const std::vector<HandlerPack>& firmwares,
const std::vector<DataHandlerPack>& transports);
/**
* Create a FirmwareBlobHandler.
*
+ * @param[in] bus - an sdbusplus handler for a bus to use
* @param[in] firmwares - list of firmware types and their handlers
* @param[in] blobs - list of blobs_ids to support
* @param[in] transports - list of transport types and their handlers
* @param[in] bitmask - bitmask of transports to support
*/
- FirmwareBlobHandler(const std::vector<HandlerPack>& firmwares,
+ FirmwareBlobHandler(sdbusplus::bus::bus&& bus,
+ const std::vector<HandlerPack>& firmwares,
const std::vector<std::string>& blobs,
const std::vector<DataHandlerPack>& transports,
std::uint16_t bitmask) :
- handlers(firmwares),
- blobIDs(blobs), transports(transports), bitmask(bitmask),
- activeImage(activeImageBlobID), activeHash(activeHashBlobID),
- verifyImage(verifyBlobID), lookup(), state(UpdateState::notYetStarted)
+ bus(std::move(bus)),
+ handlers(firmwares), blobIDs(blobs), transports(transports),
+ bitmask(bitmask), activeImage(activeImageBlobID),
+ activeHash(activeHashBlobID), verifyImage(verifyBlobID), lookup(),
+ state(UpdateState::notYetStarted)
{
}
~FirmwareBlobHandler() = default;
- FirmwareBlobHandler(const FirmwareBlobHandler&) = default;
- FirmwareBlobHandler& operator=(const FirmwareBlobHandler&) = default;
+ FirmwareBlobHandler(const FirmwareBlobHandler&) = delete;
+ FirmwareBlobHandler& operator=(const FirmwareBlobHandler&) = delete;
FirmwareBlobHandler(FirmwareBlobHandler&&) = default;
FirmwareBlobHandler& operator=(FirmwareBlobHandler&&) = default;
@@ -167,6 +172,8 @@
};
private:
+ sdbusplus::bus::bus bus;
+
/** List of handlers by type. */
std::vector<HandlerPack> handlers;