bmc: add /flash/update to firmare handler
The /flash/update blob id will only appear when it's an available option
(after a successful image verification). Add a Session for tracking
access to /flash/update.
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I9e76c5217d4a71346c959061fb51418e3aa39c81
diff --git a/firmware_handler.hpp b/firmware_handler.hpp
index 73a0668..2b2c7d3 100644
--- a/firmware_handler.hpp
+++ b/firmware_handler.hpp
@@ -133,7 +133,8 @@
handlers(firmwares),
blobIDs(blobs), transports(transports), bitmask(bitmask),
activeImage(activeImageBlobId), activeHash(activeHashBlobId),
- verifyImage(verifyBlobId), lookup(), state(UpdateState::notYetStarted),
+ verifyImage(verifyBlobId), updateImage(updateBlobId), lookup(),
+ state(UpdateState::notYetStarted),
verification(std::move(verification)), update(std::move(update))
{
}
@@ -190,6 +191,9 @@
/** Session for verification. */
Session verifyImage;
+ /** Session for update. */
+ Session updateImage;
+
/** A quick method for looking up a session's mechanisms and details. */
std::map<std::uint16_t, Session*> lookup;
diff --git a/util.cpp b/util.cpp
index 05780b8..be18d72 100644
--- a/util.cpp
+++ b/util.cpp
@@ -19,6 +19,7 @@
namespace ipmi_flash
{
+const std::string updateBlobId = "/flash/update";
const std::string verifyBlobId = "/flash/verify";
const std::string hashBlobId = "/flash/hash";
const std::string activeImageBlobId = "/flash/active/image";
diff --git a/util.hpp b/util.hpp
index f304b1c..fd3a818 100644
--- a/util.hpp
+++ b/util.hpp
@@ -5,6 +5,7 @@
namespace ipmi_flash
{
+extern const std::string updateBlobId;
extern const std::string verifyBlobId;
extern const std::string hashBlobId;
extern const std::string activeImageBlobId;