27 #ifndef CLOE_TRIGGER_EXAMPLE_ACTIONS_HPP_ 28 #define CLOE_TRIGGER_EXAMPLE_ACTIONS_HPP_ 43 Log(
const std::string&
name, LogLevel level,
const std::string& msg)
44 :
Action(name), level_(level), msg_(msg) {}
45 ActionPtr
clone()
const override {
return std::make_unique<Log>(
name(), level_, msg_); }
52 {
"level", logger::to_string(level_)},
67 ActionPtr make(
const Conf& c)
const override;
68 ActionPtr make(
const std::string& s)
const override;
74 Bundle(
const std::string&
name, std::vector<ActionPtr>&& actions);
75 ActionPtr
clone()
const override;
87 std::vector<ActionPtr> actions_;
95 :
ActionFactory(
"bundle",
"run a set of actions"), registrar_(r) {}
97 ActionPtr make(
const Conf& c)
const override;
100 std::shared_ptr<TriggerRegistrar> registrar_;
107 ActionPtr
clone()
const override {
return std::make_unique<Insert>(
name(), triggers_); }
111 void to_json(Json& j)
const override;
121 :
ActionFactory(
"insert",
"insert a new trigger"), registrar_(r) {}
123 ActionPtr make(
const Conf& c)
const override;
126 std::shared_ptr<TriggerRegistrar> registrar_;
136 , push_(push.release())
137 , release_(release.release())
140 return std::make_unique<PushRelease>(
name(), duration_, push_->clone(), release_->clone(),
146 void to_json(Json& j)
const override { j = repr_; }
159 :
ActionFactory(
"push_release",
"push and release one or more buttons"), registrar_(r) {}
161 ActionPtr make(
const Conf& c)
const override;
164 std::shared_ptr<TriggerRegistrar> registrar_;
170 #endif // CLOE_TRIGGER_EXAMPLE_ACTIONS_HPP_
Logger logger() const
Definition: trigger.hpp:655
ActionPtr clone() const override
Definition: example_actions.hpp:107
void to_json(Json &j) const override
Definition: example_actions.hpp:50
Definition: example_actions.hpp:155
Definition: trigger.hpp:442
void to_json(Json &j) const override
Definition: example_actions.hpp:146
Definition: example_actions.hpp:91
Definition: trigger.hpp:616
bool is_significant() const override
Definition: example_actions.hpp:47
Definition: coordinator.hpp:36
ActionPtr clone() const override
Definition: example_actions.hpp:45
std::chrono::nanoseconds Duration
Definition: duration.hpp:45
ActionPtr clone() const override
Definition: example_actions.hpp:139
Definition: example_actions.hpp:72
Definition: trigger.hpp:300
Definition: example_actions.hpp:62
std::string name() const
Definition: entity.hpp:68
void to_json(Json &j) const override
Definition: example_actions.hpp:80
Definition: example_actions.hpp:41
Definition: example_actions.hpp:104
Definition: example_actions.hpp:117
Definition: example_actions.hpp:130
void operator()(const Sync &, TriggerRegistrar &) override
Definition: example_actions.hpp:46
Definition: trigger.hpp:207