mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
Add an IP address parser to enable specifying multiple clients in the Monitor block configuration
This commit is contained in:
parent
8184e0eb81
commit
4b620c5931
@ -1157,11 +1157,10 @@ void GNSSFlowgraph::init()
|
||||
*/
|
||||
enable_monitor_ = configuration_->property("Monitor.enable_monitor", false);
|
||||
|
||||
std::vector<std::string> udp_addr_vec;
|
||||
|
||||
std::string address_string = configuration_->property("Monitor.client_addresses", std::string("127.0.0.1"));
|
||||
//todo: split the string in substrings using the separator and fill the address vector.
|
||||
udp_addr_vec.push_back(address_string);
|
||||
std::vector<std::string> udp_addr_vec = split_string(address_string, '_');
|
||||
std::sort(udp_addr_vec.begin(), udp_addr_vec.end());
|
||||
udp_addr_vec.erase(std::unique(udp_addr_vec.begin(), udp_addr_vec.end()), udp_addr_vec.end());
|
||||
|
||||
if (enable_monitor_)
|
||||
{
|
||||
@ -1599,3 +1598,17 @@ Gnss_Signal GNSSFlowgraph::search_next_signal(std::string searched_signal, bool
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<std::string> GNSSFlowgraph::split_string(const std::string &s, char delim)
|
||||
{
|
||||
std::vector<std::string> v;
|
||||
std::stringstream ss(s);
|
||||
std::string item;
|
||||
|
||||
while (std::getline(ss, item, delim))
|
||||
{
|
||||
*(std::back_inserter(v)++) = item;
|
||||
}
|
||||
|
||||
return v;
|
||||
}
|
||||
|
@ -186,6 +186,7 @@ private:
|
||||
|
||||
bool enable_monitor_;
|
||||
gr::basic_block_sptr GnssSynchroMonitor_;
|
||||
std::vector<std::string> split_string(const std::string &s, char delim);
|
||||
};
|
||||
|
||||
#endif /*GNSS_SDR_GNSS_FLOWGRAPH_H_*/
|
||||
|
Loading…
Reference in New Issue
Block a user