29#include <unordered_map>
32#include "observable/evtvar.h"
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);
76 obs::Listener m_driverlist_lstnr;
77 obs::Listener m_driverstat_lstnr;
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...
obs::EventVar evt_conn_status_change
Notified with a shared_ptr<ConnData> when the state is changed.
Custom event class for OpenCPN's notification system.
Driver registration container, a singleton.
Communication statistics infrastructure.
Raw, undecoded messages definitions.
Driver statistics report.