blob: 4a72313616d9c860d911eb9af7c50448abcae164 [file] [log] [blame]
Patrick Ventureaf696252018-12-11 10:22:14 -08001#pragma once
2
Patrick Venture8a55dcb2018-12-12 21:12:58 -08003#include "firmware_handler.hpp"
4
Patrick Ventureaf696252018-12-11 10:22:14 -08005#include <cstdint>
6#include <string>
7
Patrick Venture9b534f02018-12-13 16:10:02 -08008namespace host_tool
9{
10
Patrick Ventureaf696252018-12-11 10:22:14 -080011class DataInterface
12{
13 public:
14 virtual ~DataInterface() = default;
15
16 /**
17 * Given an open session to either /flash/image, /flash/tarball, or
18 * /flash/hash, this method will configure, and send the data, but not close
19 * the session.
20 *
21 * @param[in] input - path to file to send.
22 * @param[in] session - the session ID to use.
23 * @return bool on success.
24 */
25 virtual bool sendContents(const std::string& input,
26 std::uint16_t session) = 0;
Patrick Venture8a55dcb2018-12-12 21:12:58 -080027
28 /**
29 * Return the supported data interface for this.
30 *
31 * @return the enum value corresponding to the supported type.
32 */
33 virtual blobs::FirmwareBlobHandler::UpdateFlags supportedType() const = 0;
Patrick Ventureaf696252018-12-11 10:22:14 -080034};
Patrick Venture9b534f02018-12-13 16:10:02 -080035
36} // namespace host_tool