new command: BmcBlobWriteMeta

Implement new command BmcBlobWriteMeta.

Change-Id: I2e148f4bde4ef5d24db7e30bb02bdde024d9166a
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/blobs-ipmid/manager.hpp b/blobs-ipmid/manager.hpp
index 884271c..d7282e6 100644
--- a/blobs-ipmid/manager.hpp
+++ b/blobs-ipmid/manager.hpp
@@ -56,6 +56,9 @@
                        const std::vector<uint8_t>& data) = 0;
 
     virtual bool deleteBlob(const std::string& path) = 0;
+
+    virtual bool writeMeta(uint16_t session, uint32_t offset,
+                           const std::vector<uint8_t>& data) = 0;
 };
 
 /**
@@ -192,6 +195,17 @@
     bool deleteBlob(const std::string& path) override;
 
     /**
+     * Attempt to write Metadata to a blob.
+     *
+     * @param[in] session - the session for this command.
+     * @param[in] offset - the offset into the blob to write.
+     * @param[in] data - the bytes to write to the blob.
+     * @return bool - true if the write succeeded.
+     */
+    bool writeMeta(uint16_t session, uint32_t offset,
+                   const std::vector<uint8_t>& data) override;
+
+    /**
      * Attempts to return a valid unique session id.
      *
      * @param[in,out] - pointer to the session.