blob: adee49642d5b44832d044847069325f3e88ee0d6 [file] [log] [blame]
Patrick Venturebf58cd62018-12-11 09:05:46 -08001#pragma once
2
Patrick Venture00887592018-12-11 10:57:06 -08003#include "blob_interface.hpp"
Patrick Venturea6586362018-12-11 18:47:13 -08004#include "interface.hpp"
Patrick Venture00887592018-12-11 10:57:06 -08005
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 Venture2bc23fe2018-12-13 10:16:36 -080020void updaterMain(BlobInterface* blob, DataInterface* handler,
21 const std::string& imagePath,
22 const std::string& signaturePath);
Patrick Venture9b534f02018-12-13 16:10:02 -080023
24} // namespace host_tool