6 #ifndef SWIFT_CORE_AIRSPACE_ANALYZER_H
7 #define SWIFT_CORE_AIRSPACE_ANALYZER_H
13 #include <QReadWriteLock>
29 namespace swift::misc::aviation
31 class CAircraftSituation;
38 class CAirspaceMonitor;
73 setSimulatorRenderRestrictionsChanged(
bool restricted,
bool enabled,
int maxAircraft,
124 void watchdogCheckTimeouts();
127 void analyzeAirspace();
132 std::chrono::seconds m_timeoutAircraft { 15 };
133 std::chrono::seconds m_timeoutAtc { 50 };
134 qint64 m_lastWatchdogCallMsSinceEpoch;
135 qint64 m_doNotRunAgainBefore = -1;
136 std::atomic_bool m_enabledWatchdog {
true };
140 bool m_simulatorRenderedAircraftRestricted =
false;
141 bool m_simulatorRenderingEnabled =
true;
142 int m_simulatorMaxRenderedAircraft = -1;
144 mutable QReadWriteLock m_lockSnapshot;
145 mutable QReadWriteLock m_lockRestrictions;
Class monitoring and analyzing (closest aircraft, outdated aircraft / watchdog) airspace in backgroun...
void timeoutAircraft(const swift::misc::aviation::CCallsign &callsign)
Callsign has timed out.
void setEnabledWatchdog(bool enabled)
Enable/disable watchdog.
void timeoutAtc(const swift::misc::aviation::CCallsign &callsign)
Callsign has timed out.
void airspaceAircraftSnapshot(const swift::misc::simulation::CAirspaceAircraftSnapshot &snapshot)
New aircraft snapshot.
Keeps track of other entities in the airspace: aircraft, ATC stations, etc. Central instance of data ...
FSD client Todo: Send (interim) data updates automatically Todo Check ':' in FSD messages....
Base class for a long-lived worker object which lives in its own thread.
Value object encapsulating information of an aircraft's situation.
Value object encapsulating information about an ATC station.
Value object encapsulating information of a callsign.
Value object encapsulating information about a connection status.
Physical unit length (length)
Current situation in the skies analyzed.
Delegating class which can be directly used to access an.
Class which can be directly used to access an.
Direct threadsafe in memory access to own aircraft.
Backend services of the swift project, like dealing with the network or the simulators.
#define SWIFT_CORE_EXPORT
Export a class or function from the library.