The watchdog was used in a few places as a shortcut to skip reading
data. Further, it was used in some places in the UI to display
connectivity. But it also introduced quite some complexity. In some
cases it can be fragile: network accessibilty cannot be looked up on all
platforms/hardware constellations. The connectivity could change
between the last watchdog call and the real call. Hence all readers must
still handle the case where the connection fails.
To simplify swift and further reduce the dependency onto the project
infrastructure (pings etc.), this removes the watchdog.
This also removes the QNetworkConfigurationManager, which is deprecated
and not available with Qt6.
Spreading the information about the ecosystem into all
"low-level" readers, just to deactivate them when not using
a non-VATSIM ecosystem, should be avoided. Instead, the readers
should be disabled entirely from the outside . This will be done
in a upcoming refactoring (separate PR).
By separating them from unrelated code, their dependents
can use them without depending on unrelated code, which
in turn helps to reduce cyclic dependencies.
* in case the internet provider is down, this is not detected
* extended test to detect if access is possible
* in case of downtime this indicated in status component
* use doWorkCheck
* relaxed doWorkCheck in unit tests
* removed isShuttingDown, gracefulShutdown
* set timer object name (in case something is wrong, we might see the name in the log)
* new read state "skipped"
* renamed to "isNetworkConnectedAndAccessible"
* checking before reading, which would only fail if network is not accessible
With the new Qt5 C++11 syntax, private slots are not really necessary.
Replacing it with a normal private method reduces the generated code
from moc and also syntax issues are raised as compiler errors instead
of runtime asserts.
CMetarSet was implemented as a collection. This only makes sense for
values which have one member variable only or hardly ever change. METARs
often change and therefore a collection didn't make much sense.
Additional profiling showed that a sequence has better algorithmic
performance.
refs #689