1 #pragma once
2 
3 #include "handler.hpp"
4 
5 #include <ipmiblob/blob_interface.hpp>
6 #include <string>
7 
8 namespace host_tool
9 {
10 
11 /**
12  * Attempt to update the BMC's firmware using the interface provided.
13  *
14  * @param[in] updater - update handler object.
15  * @param[in] imagePath - the path to the image file.
16  * @param[in] signaturePath - the path to the signature file.
17  * @param[in] layoutType - the image update layout type (static/ubi/other)
18  * @param[in] ignoreUpdate - determines whether to ignore the update status
19  * @throws ToolException on failures.
20  */
21 void updaterMain(UpdateHandlerInterface* updater, const std::string& imagePath,
22                  const std::string& signaturePath,
23                  const std::string& layoutType, bool ignoreUpdate);
24 
25 } // namespace host_tool
26