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.