rad  3.0.0
guardCallback.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_GUARD_CALLBACK_HPP
10 #define RAD_GUARD_CALLBACK_HPP
11 
12 #include <rad/anyEvent.hpp>
13 
14 #include <scxml4cpp/Action.h>
15 #include <scxml4cpp/Context.h>
16 
17 #include <functional>
18 
19 namespace rad {
20 
24 class GuardCallback final : public scxml4cpp::Action {
25  public:
26  explicit GuardCallback(const std::string id,
27  std::function<bool(scxml4cpp::Context* c)> guard_method);
28 
29  void execute(scxml4cpp::Context* c) override;
30  bool evaluate(scxml4cpp::Context* c) override;
31 
34  GuardCallback(const GuardCallback&) = delete;
36 
37  private:
38  std::function<bool(scxml4cpp::Context* c)> m_guard_method;
39 };
40 
41 } // namespace rad
42 
43 #endif // RAD_GUARD_CALLBACK_HPP
rad::GuardCallback::execute
void execute(scxml4cpp::Context *c) override
Definition: guardCallback.cpp:33
scxml4cpp::Action
Definition: Action.h:41
rad
Definition: actionCallback.hpp:21
rad::GuardCallback::GuardCallback
GuardCallback(const std::string id, std::function< bool(scxml4cpp::Context *c)> guard_method)
Definition: guardCallback.cpp:20
rad::GuardCallback::evaluate
bool evaluate(scxml4cpp::Context *c) override
Definition: guardCallback.cpp:41
rad::GuardCallback::GuardCallback
GuardCallback(const GuardCallback &)=delete
rad::GuardCallback
Definition: guardCallback.hpp:24
rad::GuardCallback::operator=
GuardCallback & operator=(GuardCallback &&)=default
rad::GuardCallback::GuardCallback
GuardCallback(GuardCallback &&)=default
scxml4cpp::Context
Definition: Context.h:44
rad::GuardCallback::operator=
GuardCallback & operator=(const GuardCallback &)=delete
Disable copy constructor.