blob: 99dd9caad069fa1fa614af5f0644123c74635287 [file] [log] [blame]
Patrick Venture8e801e12019-05-20 13:42:45 -07001#pragma once
2
3#include "status.hpp"
4
5namespace ipmi_flash
6{
7
8class UpdateInterface
9{
10 public:
11 virtual ~UpdateInterface() = default;
12
13 /**
14 * Trigger the update mechanism.
15 *
16 * @return true if successfully started, false otherwise.
17 */
18 virtual bool triggerUpdate() = 0;
19
20 /** Abort the update process. */
21 virtual void abortUpdate() = 0;
22
23 /** Check the current state of the update process. */
24 virtual UpdateStatus status() = 0;
25};
26
27} // namespace ipmi_flash