19 #include <unordered_map>
23 #include <condition_variable>
25 #include "signal_emitter.hpp"
26 #include "lib/msgbroker_c2d_receiver.hpp"
42 virtual std::vector<std::string>
list() {
43 std::vector<std::string> actions;
44 actions.push_back(
"start-sr");
45 actions.push_back(
"stop-sr");
50 const std::string& action,
51 const std::string& object_name
69 auto pos = object_name.rfind(
'_');
70 int64_t source_id = std::stoll(object_name.substr(pos+1));
71 if (object_map_.find(source_id) == object_map_.end()) {
72 object_map_.insert({source_id, object_name});
77 unsigned int startTime,
unsigned int duration,
80 throw std::runtime_error(
"Signal Emitter empty");
82 if (object_map_.find(camera_id) == object_map_.end()) {
86 emitter_->
emit(
"start-sr", object_map_[camera_id],
87 sessionId, startTime, duration, userData,
nullptr);
92 throw std::runtime_error(
"Signal Emitter empty");
94 if (object_map_.find(camera_id) == object_map_.end()) {
98 emitter_->
emit(
"stop-sr", object_map_[camera_id],
104 std::map<int64_t, std::string> object_map_;