blob: 0a66f34c602aa58d7f8da1a3137fa9e4a54ed8a4 [file] [log] [blame]
Patrick Venturebf58cd62018-12-11 09:05:46 -08001#pragma once
2
Patrick Venturea6586362018-12-11 18:47:13 -08003#include "interface.hpp"
Patrick Venture00887592018-12-11 10:57:06 -08004
Patrick Venture664c5bc2019-03-07 08:09:45 -08005#include <ipmiblob/blob_interface.hpp>
Patrick Venturebf58cd62018-12-11 09:05:46 -08006#include <string>
7
Patrick Venture9b534f02018-12-13 16:10:02 -08008namespace host_tool
9{
10
Patrick Venturebf58cd62018-12-11 09:05:46 -080011/**
12 * Attempt to update the BMC's firmware using the interface provided.
13 *
Patrick Venture00887592018-12-11 10:57:06 -080014 * @param[in] blob - pointer to blob interface implementation object.
Patrick Venturea6586362018-12-11 18:47:13 -080015 * @param[in] handler - pointer to the data interface implementation object.
Patrick Venturebf58cd62018-12-11 09:05:46 -080016 * @param[in] imagePath - the path to the image file.
17 * @param[in] signaturePath - the path to the signature file.
Patrick Venture2bc23fe2018-12-13 10:16:36 -080018 * @throws ToolException on failures.
Patrick Venturebf58cd62018-12-11 09:05:46 -080019 */
Patrick Venture664c5bc2019-03-07 08:09:45 -080020void updaterMain(ipmiblob::BlobInterface* blob, DataInterface* handler,
Patrick Venture2bc23fe2018-12-13 10:16:36 -080021 const std::string& imagePath,
22 const std::string& signaturePath);
Patrick Venture9b534f02018-12-13 16:10:02 -080023
24} // namespace host_tool