blob: 8f2b03f8beee026dad977d33224ef77ec99ddb10 [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. */
Patrick Ventureda66fd82019-06-03 11:11:24 -070024 virtual ActionStatus status() = 0;
Patrick Venture8e801e12019-05-20 13:42:45 -070025};
26
27} // namespace ipmi_flash