xref: /openbmc/phosphor-ipmi-flash/tools/interface.hpp (revision af69625faa119d87fc66f8c18406ea0f238bad27)
1 #pragma once
2 
3 #include <cstdint>
4 #include <string>
5 
6 class DataInterface
7 {
8   public:
9     virtual ~DataInterface() = default;
10 
11     /**
12      * Given an open session to either /flash/image, /flash/tarball, or
13      * /flash/hash, this method will configure, and send the data, but not close
14      * the session.
15      *
16      * @param[in] input - path to file to send.
17      * @param[in] session - the session ID to use.
18      * @return bool on success.
19      */
20     virtual bool sendContents(const std::string& input,
21                               std::uint16_t session) = 0;
22 };
23