28 #include <system_error>
31 #include <boost/optional.hpp>
32 #include <boost/process/child.hpp>
42 boost::optional<boost::process::child> child;
43 boost::optional<int> exit_code;
44 boost::optional<std::runtime_error> error;
45 std::vector<std::string> output;
51 : logger_(logger), enabled_(enabled) {}
53 bool is_enabled()
const {
return enabled_; }
54 void set_enabled(
bool v) { enabled_ = v; }
60 void run_all(
const std::vector<cloe::Command>& cmds);
66 std::vector<CommandResult> release_all();
68 cloe::Logger logger()
const {
return logger_; }
71 std::vector<CommandResult> handles_;
72 cloe::Logger logger_{
nullptr};
81 : Action(
name), command_(cmd), executer_(
exec) {
82 assert(executer_ !=
nullptr);
85 cloe::ActionPtr
clone()
const override {
86 return std::make_unique<Command>(
name(), command_, executer_);
92 void to_json(cloe::Json& j)
const override;
104 assert(executer_ !=
nullptr);
108 cloe::ActionPtr
make(
const std::string& s)
const override;
Definition: trigger.hpp:607
Definition: command.hpp:52
const std::string & name() const
Definition: entity.hpp:67
Definition: trigger.hpp:290
Definition: trigger.hpp:433
Definition: command.hpp:48
Definition: command.hpp:99
cloe::ActionPtr make(const cloe::Conf &c) const override
Definition: command.cpp:145
cloe::TriggerSchema schema() const override
Definition: command.cpp:135
Definition: command.hpp:78
void operator()(const cloe::Sync &, cloe::TriggerRegistrar &) override
Definition: command.cpp:131
cloe::ActionPtr clone() const override
Definition: command.hpp:85
std::string exec(const char *cmd)
Definition: server_test.cpp:50
Definition: trigger.hpp:207
Definition: command.hpp:39