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] blob - ipmi blob object.
17  * @param[in] imagePath - the path to the image file.
18  * @param[in] signaturePath - the path to the signature file.
19  * @param[in] layoutType - the image update layout type (static/ubi/other)
20  * @param[in] ignoreUpdate - determines whether to ignore the update status
21  * @throws ToolException on failures.
22  */
23 void updaterMain(UpdateHandlerInterface* updater, ipmiblob::BlobInterface* blob,
24                  const std::string& imagePath, const std::string& signaturePath,
25                  const std::string& layoutType, bool ignoreUpdate);
26 
27 } // namespace host_tool
28