43 class TriggerRegistrar;
52 : TriggerInvalid(c,
"unknown action: " +
key), key_(
key) {}
58 const char*
key()
const {
return key_.c_str(); }
71 : TriggerInvalid(c,
"unknown event: " +
key), key_(
key) {}
77 const char*
key()
const {
return key_.c_str(); }
90 cloe::TriggerPtr what;
104 const std::vector<HistoryTrigger>& history()
const {
return history_; }
106 void register_action(
const std::string& key, cloe::ActionFactoryPtr&& af);
108 void register_event(
const std::string& key, cloe::EventFactoryPtr&& ef,
109 std::shared_ptr<cloe::Callback> storage);
111 std::shared_ptr<cloe::TriggerRegistrar> trigger_registrar(
cloe::Source s);
115 cloe::Logger logger()
const {
return cloe::logger::get(
"cloe"); }
124 cloe::ActionPtr make_action(
const cloe::Conf& c)
const;
125 cloe::EventPtr make_event(
const cloe::Conf& c)
const;
128 void queue_trigger(cloe::TriggerPtr&& t);
129 void execute_trigger(cloe::TriggerPtr&& t,
const cloe::Sync& s);
136 bool allow_errors_ =
false;
139 std::map<std::string, cloe::ActionFactoryPtr> actions_;
140 std::map<std::string, cloe::EventFactoryPtr> events_;
143 std::shared_ptr<cloe::TriggerRegistrar> executer_registrar_;
146 std::map<std::string, std::shared_ptr<cloe::Callback>> storage_;
149 std::list<cloe::TriggerPtr> input_queue_;
150 mutable std::mutex input_mutex_;
153 std::vector<HistoryTrigger> history_;
Definition: registrar.hpp:116
Definition: trigger.hpp:73
Definition: coordinator.hpp:100
cloe::Duration process(const cloe::Sync &)
Definition: coordinator.cpp:179
Definition: coordinator.cpp:55
Definition: coordinator.hpp:49
const char * key() const
Definition: coordinator.hpp:58
Definition: coordinator.hpp:68
const char * key() const
Definition: coordinator.hpp:77
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
Definition: coordinator.hpp:83
Source
Definition: trigger.hpp:351