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