X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Futils%2Fsignals.hpp;h=fe8695394ce4a1230bebae949bd7e832ce3ab164;hb=3b55101caf70e27cb312f3f7235ed4b30ff6d849;hp=bc421e96f1e055345bf4c94552eb579b06815811;hpb=a1a0b7b176f6c34c0e644335ff70be3f7421494b;p=apps%2Fagl-service-can-low-level.git diff --git a/src/utils/signals.hpp b/src/utils/signals.hpp index bc421e96..fe869539 100644 --- a/src/utils/signals.hpp +++ b/src/utils/signals.hpp @@ -22,15 +22,29 @@ #include #include "openxc.pb.h" -#include "can/can-signals.hpp" -#include "obd2/obd2-signals.hpp" +#include "../configuration.hpp" +#include "../can/can-signals.hpp" +#include "../obd2/obd2-signals.hpp" + +#include "../low-can-binding.hpp" + +extern std::mutex subscribed_signals_mutex; +std::mutex& get_subscribed_signals_mutex(); + +/** + * @brief return the subscribed_signals map. + * + * return Map of subscribed signals. + */ +extern std::map subscribed_signals; +std::map& get_subscribed_signals(); template void lookup_signals_by_name(const std::string& key, std::vector& signals, std::vector& found_signals) { for(T& s : signals) { - if(::fnmatch(key.c_str(), s.generic_name, FNM_CASEFOLD) == 0) + if(::fnmatch(key.c_str(), s.get_generic_name().c_str(), FNM_CASEFOLD) == 0) found_signals.push_back(&s); } } @@ -38,10 +52,10 @@ void lookup_signals_by_name(const std::string& key, std::vector& signals, std template void lookup_signals_by_name(const std::string& key, std::vector& signals, std::vector& found_signals_name) { - for(const T& s : signals) + for(T& s : signals) { - if(::fnmatch(key.c_str(), s.generic_name, FNM_CASEFOLD) == 0) - found_signals_name.push_back(s.generic_name); + if(::fnmatch(key.c_str(), s.get_generic_name().c_str(), FNM_CASEFOLD) == 0) + found_signals_name.push_back(s.get_generic_name()); } } @@ -50,7 +64,7 @@ void lookup_signals_by_id(const double key, std::vector& signals, std::vector { for(T& s : signals) { - if(get_signal_id(s) == key) + if(config->get_signal_id(s) == key) { found_signals.push_back(&s); } @@ -62,9 +76,9 @@ void lookup_signals_by_id(const double key, std::vector& signals, std::vector { for(T& s : signals) { - if(get_signal_id(s) == key) + if(config->get_signal_id(s) == key) { - found_signals_name.push_back(s.generic_name); + found_signals_name.push_back(s.get_generic_name()); } } }