41 Log(
const std::string&
name, LogLevel level,
const std::string& msg)
43 ActionPtr
clone()
const override {
return std::make_unique<Log>(
name(), level_, msg_); }
45 logger()->log(level_, msg_.c_str());
46 return CallbackResult::Ok;
51 void to_json(Json& j)
const override {
53 {
"level", logger::to_string(level_)},
68 ActionPtr
make(
const Conf& c)
const override;
69 ActionPtr
make(
const std::string& s)
const override;
75 Bundle(
const std::string&
name, std::vector<ActionPtr>&& actions);
76 ActionPtr
clone()
const override;
81 void to_json(Json& j)
const override {
88 std::vector<ActionPtr> actions_;
96 :
ActionFactory(
"bundle",
"run a set of actions"), registrar_(r) {}
98 ActionPtr
make(
const Conf& c)
const override;
101 std::shared_ptr<TriggerRegistrar> registrar_;
108 ActionPtr
clone()
const override {
return std::make_unique<Insert>(
name(), triggers_); }
112 void to_json(Json& j)
const override;
122 :
ActionFactory(
"insert",
"insert a new trigger"), registrar_(r) {}
124 ActionPtr
make(
const Conf& c)
const override;
127 std::shared_ptr<TriggerRegistrar> registrar_;
137 , push_(push.release())
138 , release_(release.release())
141 return std::make_unique<PushRelease>(
name(), duration_, push_->clone(), release_->clone(),
147 void to_json(Json& j)
const override { j = repr_; }
160 :
ActionFactory(
"push_release",
"push and release one or more buttons"), registrar_(r) {}
162 ActionPtr
make(
const Conf& c)
const override;
165 std::shared_ptr<TriggerRegistrar> registrar_;
Definition: trigger.hpp:619
Logger logger() const
Definition: trigger.hpp:658
const std::string & name() const
Definition: entity.hpp:67
Definition: trigger.hpp:290
Definition: trigger.hpp:437
Definition: example_actions.hpp:92
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:132
TriggerSchema schema() const override
Definition: example_actions.cpp:122
Definition: example_actions.hpp:73
ActionPtr clone() const override
Definition: example_actions.cpp:101
bool is_significant() const override
Definition: example_actions.cpp:92
CallbackResult operator()(const Sync &s, TriggerRegistrar &r) override
Definition: example_actions.cpp:110
Definition: example_actions.hpp:118
TriggerSchema schema() const override
Definition: example_actions.cpp:156
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:167
Definition: example_actions.hpp:105
CallbackResult operator()(const Sync &s, TriggerRegistrar &r) override
Definition: example_actions.cpp:148
ActionPtr clone() const override
Definition: example_actions.hpp:108
Definition: example_actions.hpp:63
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:49
TriggerSchema schema() const override
Definition: example_actions.cpp:37
Definition: example_actions.hpp:39
bool is_significant() const override
Definition: example_actions.hpp:48
CallbackResult operator()(const Sync &, TriggerRegistrar &) override
Definition: example_actions.hpp:44
ActionPtr clone() const override
Definition: example_actions.hpp:43
Definition: example_actions.hpp:156
TriggerSchema schema() const override
Definition: example_actions.cpp:199
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:213
Definition: example_actions.hpp:131
ActionPtr clone() const override
Definition: example_actions.hpp:140
CallbackResult operator()(const Sync &, TriggerRegistrar &) override
Definition: example_actions.cpp:178
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
Definition: trigger.hpp:207
CallbackResult
Definition: trigger.hpp:514