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;