blob: 59407c6c29742c355aa1109cc0715fbd55ba8936 [file] [log] [blame]
Patrick Venture3ecb3502019-05-17 11:03:51 -07001#pragma once
2
Patrick Venture3ecb3502019-05-17 11:03:51 -07003#include "status.hpp"
4
5#include <memory>
6#include <string>
7
Patrick Venture1d5a31c2019-05-20 11:38:22 -07008namespace ipmi_flash
Patrick Venture3ecb3502019-05-17 11:03:51 -07009{
10
11class VerificationInterface
12{
13 public:
14 virtual ~VerificationInterface() = default;
15
16 /**
17 * Trigger verification service.
18 *
19 * @return true if successfully started, false otherwise.
20 */
21 virtual bool triggerVerification() = 0;
22
23 /** Abort the verification process. */
24 virtual void abortVerification() = 0;
25
26 /** Check the current state of the verification process. */
27 virtual VerifyCheckResponses checkVerificationState() = 0;
28};
29
Patrick Venture1d5a31c2019-05-20 11:38:22 -070030} // namespace ipmi_flash