14 #include <unordered_map>
18 #include <condition_variable>
37 virtual std::vector<std::string>
list() {
38 std::vector<std::string> actions;
39 actions.push_back(
"start-sr");
40 actions.push_back(
"stop-sr");
45 const std::string& action,
46 const std::string& object_name
64 auto pos = object_name.rfind(
'_');
65 int64_t source_id = std::stoll(object_name.substr(pos+1));
66 if (object_map_.find(source_id) == object_map_.end()) {
67 object_map_.insert({source_id, object_name});
72 unsigned int startTime,
unsigned int duration,
75 throw std::runtime_error(
"Signal Emitter empty");
77 if (object_map_.find(camera_id) == object_map_.end()) {
81 emitter_->
emit(
"start-sr", object_map_[camera_id],
82 sessionId, startTime, duration, userData,
nullptr);
87 throw std::runtime_error(
"Signal Emitter empty");
89 if (object_map_.find(camera_id) == object_map_.end()) {
93 emitter_->
emit(
"stop-sr", object_map_[camera_id],
99 std::map<int64_t, std::string> object_map_;