From 24094eaf610e33f5dfe898f3a6ac30686a7822f9 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 22 Apr 2015 23:53:44 +0200 Subject: [PATCH] refs #395, airspace analyzer * using providers for analyzer --- src/blackcore/airspace_analyzer.cpp | 6 +++++- src/blackcore/airspace_analyzer.h | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/blackcore/airspace_analyzer.cpp b/src/blackcore/airspace_analyzer.cpp index 3ea1a904d..6355788d8 100644 --- a/src/blackcore/airspace_analyzer.cpp +++ b/src/blackcore/airspace_analyzer.cpp @@ -11,13 +11,17 @@ #include "blackmisc/logmessage.h" using namespace BlackMisc; +using namespace BlackMisc::Simulation; using namespace BlackMisc::Aviation; using namespace BlackMisc::PhysicalQuantities; namespace BlackCore { - CAirspaceAnalyzer::CAirspaceAnalyzer(INetwork *network, QObject *parent) : CContinuousWorker(parent, "CAirspaceAnalyzer") + CAirspaceAnalyzer::CAirspaceAnalyzer(const IOwnAircraftProviderReadOnly *ownAircraftProvider, const IRemoteAircraftProviderReadOnly *remoteAircraftProvider, INetwork *network, QObject *parent) : + CContinuousWorker(parent, "CAirspaceAnalyzer"), + COwnAircraftAwareReadOnly(ownAircraftProvider), + CRemoteAircraftAwareReadOnly(remoteAircraftProvider) { Q_ASSERT_X(network, Q_FUNC_INFO, "Network object required to connect"); diff --git a/src/blackcore/airspace_analyzer.h b/src/blackcore/airspace_analyzer.h index 481dd76b2..b452c3c9f 100644 --- a/src/blackcore/airspace_analyzer.h +++ b/src/blackcore/airspace_analyzer.h @@ -13,6 +13,8 @@ #define BLACKCORE_AIRSPACE_ANALYZER_H #include "blackcore/network.h" +#include "blackmisc/simulation/remoteaircraftprovider.h" +#include "blackmisc/simulation/ownaircraftprovider.h" #include "blackmisc/worker.h" #include "blackmisc/pq/time.h" #include "blackmisc/aviation/callsign.h" @@ -21,6 +23,7 @@ namespace BlackCore { + //! Class monitoring and analyzing (closests aircraft, outdated aircraft / watchdog) airspace //! in background. //! @@ -28,7 +31,10 @@ namespace BlackCore //! 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. //! - class CAirspaceAnalyzer : public BlackMisc::CContinuousWorker + class CAirspaceAnalyzer : + public BlackMisc::CContinuousWorker, + public BlackMisc::Simulation::COwnAircraftAwareReadOnly, + public BlackMisc::Simulation::CRemoteAircraftAwareReadOnly { Q_OBJECT @@ -37,7 +43,9 @@ namespace BlackCore typedef QHash CCallsignTimestampSet; //! Constructor - CAirspaceAnalyzer(INetwork *network, QObject *parent); + CAirspaceAnalyzer(const BlackMisc::Simulation::IOwnAircraftProviderReadOnly *ownAircraftProvider, + const BlackMisc::Simulation::IRemoteAircraftProviderReadOnly *remoteAircraftProvider, + INetwork *network, QObject *parent); public slots: //! Clear