|
swift
|
Class monitoring and analyzing (closest aircraft, outdated aircraft / watchdog) airspace in background. More...
Public Types | |
| using | CCallsignTimestampSet = QHash< swift::misc::aviation::CCallsign, qint64 > |
| List of callsigns and their last activity. | |
Public Types inherited from QObject | |
| enum | TimerId |
Signals | |
| void | timeoutAircraft (const swift::misc::aviation::CCallsign &callsign) |
| Callsign has timed out. | |
| void | timeoutAtc (const swift::misc::aviation::CCallsign &callsign) |
| Callsign has timed out. | |
| void | airspaceAircraftSnapshot (const swift::misc::simulation::CAirspaceAircraftSnapshot &snapshot) |
| New aircraft snapshot. | |
Signals inherited from swift::misc::CWorkerBase | |
| void | aboutToStart () |
| Emitted when the task is about to start. | |
| void | finished () |
| Emitted when the task is finished. More... | |
Public Member Functions | |
| CAirspaceAnalyzer (swift::misc::simulation::IOwnAircraftProvider *ownAircraftProvider, fsd::CFSDClient *fsdClient, CAirspaceMonitor *airspaceMonitorParent) | |
| Constructor. | |
| ~CAirspaceAnalyzer ()=default | |
| Destructor. | |
| CAirspaceAnalyzer (const CAirspaceAnalyzer &)=delete | |
| Copy constructor. | |
| CAirspaceAnalyzer & | operator= (const CAirspaceAnalyzer &)=delete |
| Copy assignment. | |
| CAirspaceAnalyzer (CAirspaceAnalyzer &&)=delete | |
| Move constructor. | |
| CAirspaceAnalyzer & | operator= (CAirspaceAnalyzer &&)=delete |
| Move assignment. | |
| swift::misc::simulation::CAirspaceAircraftSnapshot | getLatestAirspaceAircraftSnapshot () const |
| Get the latest snapshot. More... | |
| void | setSimulatorRenderRestrictionsChanged (bool restricted, bool enabled, int maxAircraft, const swift::misc::physical_quantities::CLength &maxRenderedDistance) |
| Render restrictions in simulator. | |
| void | setEnabledWatchdog (bool enabled) |
| Enable/disable watchdog. More... | |
| void | clear () |
| Clear. | |
Public Member Functions inherited from swift::misc::CContinuousWorker | |
| CContinuousWorker (QObject *owner, const QString &name) | |
| Constructor. More... | |
| void | start (QThread::Priority priority=QThread::InheritPriority) |
| Starts a thread and moves the worker into it. | |
| void | quit () noexcept final |
| Stops the thread the next time around its event loop. The thread and the worker will then be deleted. More... | |
| void | quitAndWait () noexcept final |
| Calls quit() and blocks until the thread is finished. More... | |
| bool | isEnabled () const |
| Enabled (running)? More... | |
| const QString & | getName () |
| Name of the worker. | |
| const QObject * | owner () const |
| Owner of the worker. | |
Public Member Functions inherited from swift::misc::CWorkerBase | |
| ~CWorkerBase () | |
| Destructor. | |
| CWorkerBase (const CWorkerBase &)=delete | |
| Copy constructor. | |
| CWorkerBase & | operator= (const CWorkerBase &)=delete |
| Copy assignment. | |
| CWorkerBase (CWorkerBase &&)=delete | |
| Move constructor. | |
| CWorkerBase & | operator= (CWorkerBase &&)=delete |
| Move assignment. | |
| template<typename T , typename F > | |
| void | then (T *context, F functor) |
| Connects to a functor or method which will be called when the task is finished. More... | |
| template<typename F > | |
| void | then (F functor) |
| Connects to a functor which will be called when the task is finished. More... | |
| bool | isFinished () const |
| Returns true if the task has finished. More... | |
| template<typename F > | |
| void | doIfFinished (F functor) const |
| Executes some code (in the caller's thread) if the task has finished. More... | |
| template<typename F > | |
| void | doIfNotFinished (F functor) const |
| Executes some code (in the caller's thread) if the task has not finished. More... | |
| template<typename F1 , typename F2 > | |
| void | doIfFinishedElse (F1 ifFunctor, F2 elseFunctor) const |
| Executes some code (in the caller's thread) if the task has finished and some different code if it has not finished. More... | |
| void | waitForFinished () noexcept |
| Blocks until the task is finished. More... | |
| void | abandon () noexcept |
| Notify the task that its result is no longer needed, so it can finish early. More... | |
| void | abandonAndWait () noexcept |
| Convenience to call abandon() followed by waitForFinished(). | |
Public Member Functions inherited from QObject | |
| QBindable< QString > | bindableObjectName () |
| QObject (QObject *parent) | |
| QT_NO_CONTEXTLESS_CONNECT QT_NO_CONTEXTLESS_CONNECT | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| Q_CLASSINFO (Name, Value) | |
| Q_EMIT Q_EMIT | |
| Q_ENUM (...) | |
| Q_ENUMS (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG (...) | |
| Q_FLAGS (...) | |
| Q_FLAG_NS (...) | |
| Q_GADGET Q_GADGET | |
| Q_GADGET_EXPORT (EXPORT_MACRO) | |
| Q_INTERFACES (...) | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_MOC_INCLUDE Q_MOC_INCLUDE | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_OBJECT Q_OBJECT | |
| Q_PROPERTY (...) | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SLOT Q_SLOT | |
| Q_SLOTS Q_SLOTS | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| bool | blockSignals (bool block) |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| bool | moveToThread (QThread *targetThread) |
| bool | setProperty (const char *name, QVariant &&value) |
| bool | setProperty (const char *name, const QVariant &value) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::nanoseconds interval, Qt::TimerType timerType) |
| void | deleteLater () |
| void | destroyed (QObject *obj) |
| void | installEventFilter (QObject *filterObj) |
| void | killTimer (Qt::TimerId id) |
| void | killTimer (int id) |
| void | objectNameChanged (const QString &objectName) |
| void | removeEventFilter (QObject *obj) |
| void | setObjectName (QAnyStringView name) |
| void | setObjectName (const QString &name) |
| void | setParent (QObject *parent) |
| QList< QByteArray > | dynamicPropertyNames () const const |
| QList< T > | findChildren (QAnyStringView name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| QObject * | parent () const const |
| QString | objectName () const const |
| QThread * | thread () const const |
| QVariant | property (const char *name) const const |
| T | findChild (QAnyStringView name, Qt::FindChildOptions options) const const |
| T | findChild (Qt::FindChildOptions options) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | inherits (const char *className) const const |
| bool | isQuickItemType () const const |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| virtual const QMetaObject * | metaObject () const const |
| const QObjectList & | children () const const |
| void | dumpObjectInfo () const const |
| void | dumpObjectTree () const const |
Public Member Functions inherited from swift::misc::simulation::COwnAircraftAware | |
| void | setOwnAircraftProvider (IOwnAircraftProvider *provider) |
| Set the provider. | |
| CSimulatedAircraft | getOwnAircraft () const |
| Own aircraft. More... | |
| aviation::CCallsign | getOwnCallsign () const |
| Own aircraft's callsign. More... | |
| aviation::CComSystem | getOwnComSystem (aviation::CComSystem::ComUnit unit) const |
| Own aircraft COM unit. More... | |
| aviation::CTransponder | getOwnTransponder () const |
| Own aircraft XPDR. More... | |
| swift::misc::geo::CCoordinateGeodetic | getOwnAircraftPosition () const |
| Own aircraft's position. More... | |
| aviation::CAircraftSituation | getOwnAircraftSituation () const |
| Own aircraft's position. More... | |
| aviation::CAircraftParts | getOwnAircraftParts () const |
| Own aircraft's parts. More... | |
| swift::misc::simulation::CAircraftModel | getOwnAircraftModel () const |
| Own aircraft model. More... | |
| swift::misc::physical_quantities::CLength | getDistanceToOwnAircraft (const swift::misc::geo::ICoordinateGeodetic &position) const |
| Distance to own aircraft. More... | |
| bool | updateCockpit (const swift::misc::simulation::CSimulatedAircraft &aircraft, const swift::misc::CIdentifier &originator) |
| Update cockpit, but only send signals when applicable. More... | |
| bool | updateCockpit (const aviation::CComSystem &com1, const aviation::CComSystem &com2, const aviation::CTransponder &transponder, const swift::misc::CIdentifier &originator) |
| Update cockpit, but only send signals when applicable. More... | |
| bool | updateActiveComFrequency (const swift::misc::physical_quantities::CFrequency &frequency, aviation::CComSystem::ComUnit comUnit, const swift::misc::CIdentifier &originator) |
| Update cockpit, but only send signals when applicable. More... | |
| bool | updateSelcal (const aviation::CSelcal &selcal, const swift::misc::CIdentifier &originator) |
| Update cockpit, but only send signals when applicable. More... | |
| bool | updateOwnCallsign (const aviation::CCallsign &callsign) |
| Update aircraft's callsign. More... | |
| bool | updateOwnIcaoCodes (const aviation::CAircraftIcaoCode &aircraftIcaoData, const aviation::CAirlineIcaoCode &airlineIcaoCode) |
| Update ICAO data. More... | |
| bool | updateOwnModel (const swift::misc::simulation::CAircraftModel &model) |
| Update model. More... | |
| bool | updateOwnSituation (const aviation::CAircraftSituation &situation) |
| Update own situation. More... | |
| bool | updateOwnParts (const aviation::CAircraftParts &parts) |
| Update own parts. More... | |
| bool | updateOwnCG (const physical_quantities::CLength &cg) |
| Update own aircraft's CG (aka vertical offset) More... | |
Public Member Functions inherited from swift::misc::simulation::CRemoteAircraftAware | |
| virtual | ~CRemoteAircraftAware () |
| Destructor. | |
| CSimulatedAircraftList | getAircraftInRange () const |
| All remote aircraft. More... | |
| bool | isAircraftInRange (const aviation::CCallsign &callsign) const |
| Is aircraft in range? More... | |
| bool | isVtolAircraft (const aviation::CCallsign &callsign) const |
| Is VTOL aircraft? More... | |
| int | getAircraftInRangeCount () const |
| Count remote aircraft. More... | |
| aviation::CCallsignSet | getAircraftInRangeCallsigns () const |
| Unique callsigns for aircraft in range. More... | |
| CSimulatedAircraft | getAircraftInRangeForCallsign (const aviation::CCallsign &callsign) const |
| Aircraft for callsign. More... | |
| CAircraftModel | getAircraftInRangeModelForCallsign (const aviation::CCallsign &callsign) const |
| Aircraft model for callsign. More... | |
| CAirspaceAircraftSnapshot | getLatestAirspaceAircraftSnapshot () const |
| Current snapshot. More... | |
| aviation::CAircraftSituationList | remoteAircraftSituations (const aviation::CCallsign &callsign) const |
| Rendered aircraft situations (per callsign, time history) More... | |
| aviation::CAircraftSituation | remoteAircraftSituation (const aviation::CCallsign &callsign, int index) const |
| Rendered aircraft situations (per callsign and index) More... | |
| aviation::CAircraftSituationList | latestRemoteAircraftSituations () const |
| Latest aircraft situation for all callsigns. More... | |
| aviation::CAircraftSituationList | latestOnGroundProviderElevations () const |
| Latest aircraft situation "on ground" having a provider elevation. More... | |
| int | remoteAircraftSituationsCount (const aviation::CCallsign &callsign) const |
| Number of remote aircraft situations for callsign. More... | |
| aviation::CAircraftPartsList | remoteAircraftParts (const aviation::CCallsign &callsign) const |
| All parts (per callsign, time history) More... | |
| int | remoteAircraftPartsCount (const aviation::CCallsign &callsign) const |
| All parts (per callsign, time history) More... | |
| aviation::CAircraftSituationChangeList | remoteAircraftSituationChanges (const aviation::CCallsign &callsign) const |
| Aircraft changes. More... | |
| aviation::CCallsignSet | remoteAircraftSupportingParts () const |
| Remote aircraft supporting parts. More... | |
| bool | isRemoteAircraftSupportingParts (const aviation::CCallsign &callsign) const |
| Is remote aircraft supporting parts? More... | |
| int | getRemoteAircraftSupportingPartsCount () const |
| Number of aircraft supporting parts. More... | |
| bool | updateAircraftEnabled (const aviation::CCallsign &callsign, bool enabledForRendering) |
| Enable/disable aircraft and follow up logic like sending signals. More... | |
| bool | setAircraftEnabledFlag (const aviation::CCallsign &callsign, bool enabledForRendering) |
| Just set enable/disable aircraft flag, no further logic. More... | |
| bool | updateMultipleAircraftEnabled (const aviation::CCallsignSet &callsigns, bool enabledForRendering) |
| Enable/disable aircraft. More... | |
| bool | updateAircraftModel (const aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) |
| Change model. More... | |
| bool | updateAircraftNetworkModel (const aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) |
| Change network model. More... | |
| bool | updateAircraftRendered (const aviation::CCallsign &callsign, bool rendered) |
| Set aircraft rendered. More... | |
| bool | updateMultipleAircraftRendered (const aviation::CCallsignSet &callsigns, bool rendered) |
| Set aircraft rendered. More... | |
| int | updateAircraftGroundElevation (const aviation::CCallsign &callsign, const geo::CElevationPlane &elevation, aviation::CAircraftSituation::GndElevationInfo info, bool *updateAircraftGroundElevation) |
| Update the ground elevation. More... | |
| bool | updateCG (const aviation::CCallsign &callsign, const physical_quantities::CLength &cg) |
| Update the CG. More... | |
| aviation::CCallsignSet | updateCGForModel (const QString &modelString, const physical_quantities::CLength &cg) |
| Update the CG for this model string. More... | |
| bool | updateCGAndModelString (const aviation::CCallsign &callsign, const physical_quantities::CLength &cg, const QString &modelString) |
| Update the CG and model string. More... | |
| void | updateMarkAllAsNotRendered () |
| Mark all as not rendered. More... | |
| int | aircraftSituationsAdded () const |
| Number of situations added. More... | |
| int | aircraftPartsAdded () const |
| Number of parts added. More... | |
| qint64 | situationsLastModified (const aviation::CCallsign &callsign) const |
| When last modified. More... | |
| qint64 | partsLastModified (const aviation::CCallsign &callsign) const |
| When last modified. More... | |
| geo::CElevationPlane | averageElevationOfNonMovingAircraft (const aviation::CAircraftSituation &reference, const physical_quantities::CLength &range, int minValues=1) const |
| Average elevation of aircraft in given range, which are NOT moving. More... | |
| void | setRemoteAircraftProvider (IRemoteAircraftProvider *remoteAircraftProvider) |
| Set remote aircraft provider. | |
| IRemoteAircraftProvider * | getRemoteAircraftProvider () const |
| Get the aircraft provider. | |
Additional Inherited Members | |
Static Public Member Functions inherited from swift::misc::CWorkerBase | |
| static const QStringList & | getLogCategories () |
| Log categories. | |
| static const QSet< CWorkerBase * > & | allWorkers () |
| All workers currently existing. | |
Static Public Member Functions inherited from QObject | |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
| Invalid | |
Protected Member Functions inherited from swift::misc::CContinuousWorker | |
| virtual void | initialize () |
| Called when the thread is started. | |
| virtual void | cleanup () |
| Called when the thread is finished. | |
| virtual void | beforeQuit () noexcept |
| Called before quit is called. More... | |
| virtual unsigned long | waitTimeoutMs () const |
| Wait time for quitAndWait, 0 means not waiting. | |
Protected Member Functions inherited from swift::misc::CWorkerBase | |
| CWorkerBase () | |
| Constructor. | |
| bool | isAbandoned () const |
| For the task to check whether it can finish early. More... | |
| bool | hasStarted () const |
| True if the worker has started. | |
| void | setStarted () |
| Mark the task as started. | |
| void | setFinished () |
| Mark the task as finished. | |
Protected Member Functions inherited from QObject | |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | customEvent (QEvent *event) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| virtual void | timerEvent (QTimerEvent *event) |
| QObject * | sender () const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| int | receivers (const char *signal) const const |
| int | senderSignalIndex () const const |
Protected Member Functions inherited from swift::misc::simulation::COwnAircraftAware | |
| COwnAircraftAware (IOwnAircraftProvider *ownAircraftProvider) | |
| Constructor. | |
Protected Member Functions inherited from swift::misc::IProviderAware< IOwnAircraftProvider > | |
| IProviderAware (IOwnAircraftProvider *provider=nullptr) | |
| Ctor. | |
| virtual | ~IProviderAware () |
| Dtor. | |
| bool | hasProvider () const |
| Has provider? | |
| IOwnAircraftProvider * | getProvider () const |
| Provider. | |
| void | setProvider (IOwnAircraftProvider *provider) |
| Set the provider. More... | |
| IOwnAircraftProvider * | provider () |
| Provider. | |
| const IOwnAircraftProvider * | provider () const |
| Const provider. | |
Protected Member Functions inherited from swift::misc::simulation::CRemoteAircraftAware | |
| CRemoteAircraftAware () | |
| Default constructor. | |
| CRemoteAircraftAware (IRemoteAircraftProvider *remoteAircraftProvider) | |
| Constructor. | |
Protected Member Functions inherited from swift::misc::IProviderAware< IRemoteAircraftProvider > | |
| IProviderAware (IRemoteAircraftProvider *provider=nullptr) | |
| Ctor. | |
| virtual | ~IProviderAware () |
| Dtor. | |
| bool | hasProvider () const |
| Has provider? | |
| IRemoteAircraftProvider * | getProvider () const |
| Provider. | |
| void | setProvider (IRemoteAircraftProvider *provider) |
| Set the provider. More... | |
| IRemoteAircraftProvider * | provider () |
| Provider. | |
| const IRemoteAircraftProvider * | provider () const |
| Const provider. | |
Properties inherited from QObject | |
| objectName | |
Class monitoring and analyzing (closest aircraft, outdated aircraft / watchdog) airspace in background.
Watchdog functionality: This class was introduced due to a flaw in the VATSIM server implementation: Every client needs to send an add/delete packet on its own to inform other clients nearby. The server does not take care of that. When a client crashes, no delete packet is ever sent. This class therefore monitors callsigns and emits a timeout signal if it wasn't resetted during the specified timeout value.
Definition at line 50 of file airspaceanalyzer.h.
| CAirspaceAircraftSnapshot swift::core::CAirspaceAnalyzer::getLatestAirspaceAircraftSnapshot | ( | ) | const |
Get the latest snapshot.
Definition at line 86 of file airspaceanalyzer.cpp.
|
inline |
Enable/disable watchdog.
Definition at line 91 of file airspaceanalyzer.h.