1d53d60a4SPatrick Venture #pragma once
2d53d60a4SPatrick Venture 
3d53d60a4SPatrick Venture #include "status.hpp"
4d53d60a4SPatrick Venture 
5d53d60a4SPatrick Venture #include <memory>
6d53d60a4SPatrick Venture 
7d53d60a4SPatrick Venture namespace ipmi_flash
8d53d60a4SPatrick Venture {
9d53d60a4SPatrick Venture 
10d53d60a4SPatrick Venture // This type will just return success upon trigger(), and even before calling
11d53d60a4SPatrick Venture // trigger.
12d53d60a4SPatrick Venture class SkipAction : public TriggerableActionInterface
13d53d60a4SPatrick Venture {
14d53d60a4SPatrick Venture   public:
15d53d60a4SPatrick Venture     static std::unique_ptr<TriggerableActionInterface> CreateSkipAction();
16d53d60a4SPatrick Venture 
17d53d60a4SPatrick Venture     SkipAction() = default;
18d53d60a4SPatrick Venture     ~SkipAction() = default;
19d53d60a4SPatrick Venture 
20d53d60a4SPatrick Venture     // Disallow copy and assign.
21d53d60a4SPatrick Venture     SkipAction(const SkipAction&) = delete;
22d53d60a4SPatrick Venture     SkipAction& operator=(const SkipAction&) = delete;
23d53d60a4SPatrick Venture     SkipAction(SkipAction&&) = default;
24d53d60a4SPatrick Venture     SkipAction& operator=(SkipAction&&) = default;
25d53d60a4SPatrick Venture 
26*4175b4caSWilliam A. Kennington III     bool trigger() override;
27*4175b4caSWilliam A. Kennington III     void abort() override;
28*4175b4caSWilliam A. Kennington III     ActionStatus status() override;
29d53d60a4SPatrick Venture };
30d53d60a4SPatrick Venture 
31d53d60a4SPatrick Venture } // namespace ipmi_flash
32