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