29#include <unordered_map> 
   37enum class ConnState { Disabled, NoStats, NoData, Unavailable, Ok };
 
   39const std::unordered_map<ConnState, std::string> ConnStateToString = {
 
   40    {ConnState::Disabled, 
"Disabled"},
 
   41    {ConnState::NoStats, 
"NoStats"},
 
   42    {ConnState::NoData, 
"NoData"},
 
   43    {ConnState::Unavailable, 
"Unavailable"},
 
   44    {ConnState::Ok, 
"Ok"}};
 
   49  ConnData() : state(ConnState::NoStats) {}
 
   54  [[nodiscard]] 
bool IsDriverStatsMatch(
const DriverStats& ds) 
const;
 
   55  [[nodiscard]] 
bool IsDriverMatch(NavAddr::Bus bus,
 
   56                                   const std::string& iface) 
const;
 
   57  std::string to_string();
 
 
   72  void HandleDriverStats(
const struct DriverStats& stats);
 
   73  ConnState GetDriverState(NavAddr::Bus bus, 
const std::string& iface);
 
   78  std::vector<ConnData> m_states;
 
 
Runtime data for a driver and thus connection.
Filter reading driver driver_stats status reports from CommDriverRegistry transforming these to a str...
EventVar evt_conn_status_change
Notified with a shared_ptr<ConnData> when the state is changed.
Generic event handling between MVC Model and Controller based on a shared EventVar variable.
Define an action to be performed when a KeyProvider is notified.
Custom event class for OpenCPN's notification system.
Driver registration container, a singleton.
Communication statistics infrastructure.
Raw, undecoded messages definitions.
A common variable shared between producer and consumer which supports Listen() and Notify().
Driver statistics report.