ipmi: start implementing flashHashData

Change-Id: Ib8c57c0f482515ed64867b9f1c98942d39c8a10f
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/flash-ipmi.hpp b/flash-ipmi.hpp
index 7a63fc3..ddcfa14 100644
--- a/flash-ipmi.hpp
+++ b/flash-ipmi.hpp
@@ -114,6 +114,16 @@
      * @return true on success, false otherwise.
      */
     virtual bool startHash(uint32_t length) = 0;
+
+    /**
+     * Attempt to write the bytes at the offset.
+     *
+     * @param[in] offset - the 0-based byte offset into the flash image.
+     * @param[in] bytes - the bytes to write.
+     * @return true on success, false otherwise.
+     */
+    virtual bool hashData(uint32_t offset,
+                          const std::vector<uint8_t>& bytes) = 0;
 };
 
 class FlashUpdate : public UpdateInterface
@@ -127,12 +137,11 @@
     FlashUpdate& operator=(FlashUpdate&&) = default;
 
     bool start(uint32_t length) override;
-
     bool flashData(uint32_t offset, const std::vector<uint8_t>& bytes) override;
-
     bool flashFinish() override;
 
     bool startHash(uint32_t length) override;
+    bool hashData(uint32_t offset, const std::vector<uint8_t>& bytes) override;
 
   private:
     /**