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_); }
48 void to_json(Json& j)
const override {
50 {
"level", logger::to_string(level_)},
65 ActionPtr
make(
const Conf& c)
const override;
66 ActionPtr
make(
const std::string& s)
const override;
72 Bundle(
const std::string&
name, std::vector<ActionPtr>&& actions);
73 ActionPtr
clone()
const override;
78 void to_json(Json& j)
const override {
85 std::vector<ActionPtr> actions_;
93 :
ActionFactory(
"bundle",
"run a set of actions"), registrar_(r) {}
95 ActionPtr
make(
const Conf& c)
const override;
98 std::shared_ptr<TriggerRegistrar> registrar_;
105 ActionPtr
clone()
const override {
return std::make_unique<Insert>(
name(), triggers_); }
109 void to_json(Json& j)
const override;
119 :
ActionFactory(
"insert",
"insert a new trigger"), registrar_(r) {}
121 ActionPtr
make(
const Conf& c)
const override;
124 std::shared_ptr<TriggerRegistrar> registrar_;
134 , push_(push.release())
135 , release_(release.release())
138 return std::make_unique<PushRelease>(
name(), duration_, push_->clone(), release_->clone(),
144 void to_json(Json& j)
const override { j = repr_; }
157 :
ActionFactory(
"push_release",
"push and release one or more buttons"), registrar_(r) {}
159 ActionPtr
make(
const Conf& c)
const override;
162 std::shared_ptr<TriggerRegistrar> registrar_;
Definition: trigger.hpp:607
Logger logger() const
Definition: trigger.hpp:646
const std::string & name() const
Definition: entity.hpp:67
Definition: trigger.hpp:290
Definition: trigger.hpp:433
Definition: example_actions.hpp:89
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:128
TriggerSchema schema() const override
Definition: example_actions.cpp:118
Definition: example_actions.hpp:70
ActionPtr clone() const override
Definition: example_actions.cpp:102
bool is_significant() const override
Definition: example_actions.cpp:93
void operator()(const Sync &s, TriggerRegistrar &r) override
Definition: example_actions.cpp:111
Definition: example_actions.hpp:115
TriggerSchema schema() const override
Definition: example_actions.cpp:151
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:162
Definition: example_actions.hpp:102
void operator()(const Sync &s, TriggerRegistrar &r) override
Definition: example_actions.cpp:144
ActionPtr clone() const override
Definition: example_actions.hpp:105
Definition: example_actions.hpp:60
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:50
TriggerSchema schema() const override
Definition: example_actions.cpp:38
Definition: example_actions.hpp:39
bool is_significant() const override
Definition: example_actions.hpp:45
ActionPtr clone() const override
Definition: example_actions.hpp:43
void operator()(const Sync &, TriggerRegistrar &) override
Definition: example_actions.hpp:44
Definition: example_actions.hpp:153
TriggerSchema schema() const override
Definition: example_actions.cpp:193
ActionPtr make(const Conf &c) const override
Definition: example_actions.cpp:207
Definition: example_actions.hpp:128
ActionPtr clone() const override
Definition: example_actions.hpp:137
void operator()(const Sync &, TriggerRegistrar &) override
Definition: example_actions.cpp:173
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
Definition: trigger.hpp:207