29 #include <system_error>
33 #include <boost/process/child.hpp>
43 std::optional<boost::process::child> child;
44 std::optional<int> exit_code;
45 std::optional<std::system_error> error;
46 std::vector<std::string> output;
52 : logger_(std::move(logger)), enabled_(enabled) {}
54 [[nodiscard]]
bool is_enabled()
const {
return enabled_; }
55 void set_enabled(
bool v) { enabled_ = v; }
61 void run_all(
const std::vector<cloe::Command>& cmds);
67 std::vector<CommandResult> release_all();
69 [[nodiscard]] cloe::Logger logger()
const {
return logger_; }
72 std::vector<CommandResult> handles_;
73 cloe::Logger logger_{
nullptr};
82 : Action(
name), command_(std::move(cmd)), executer_(
exec) {
83 assert(executer_ !=
nullptr);
86 cloe::ActionPtr
clone()
const override {
87 return std::make_unique<Command>(
name(), command_, executer_);
93 void to_json(cloe::Json& j)
const override;
105 assert(executer_ !=
nullptr);
108 [[nodiscard]] cloe::ActionPtr
make(
const cloe::Conf& c)
const override;
109 [[nodiscard]] cloe::ActionPtr
make(
const std::string& s)
const override;
Definition: trigger.hpp:619
Definition: command.hpp:51
const std::string & name() const
Definition: entity.hpp:67
Definition: trigger.hpp:290
Definition: trigger.hpp:437
Definition: command.hpp:49
Definition: command.hpp:100
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:79
cloe::ActionPtr clone() const override
Definition: command.hpp:86
cloe::CallbackResult operator()(const cloe::Sync &sync, cloe::TriggerRegistrar ®istrar) override
Definition: command.cpp:131
std::string exec(const char *cmd)
Definition: server_test.cpp:50
Definition: trigger.hpp:207
Definition: command.hpp:40
CallbackResult
Definition: trigger.hpp:514