diff --git a/src/core/airspacemonitor.cpp b/src/core/airspacemonitor.cpp index 03ba64964..bf7490d0f 100644 --- a/src/core/airspacemonitor.cpp +++ b/src/core/airspacemonitor.cpp @@ -57,9 +57,8 @@ namespace swift::core CAirspaceMonitor::CAirspaceMonitor(IOwnAircraftProvider *ownAircraftProvider, IAircraftModelSetProvider *modelSetProvider, CFSDClient *fsdClient, QObject *parent) - : CRemoteAircraftProvider(parent), COwnAircraftAware(ownAircraftProvider), - CAircraftModelSetAware(modelSetProvider), m_fsdClient(fsdClient), - m_analyzer(new CAirspaceAnalyzer(ownAircraftProvider, m_fsdClient, this)) + : CRemoteAircraftProvider(parent), COwnAircraftAware(ownAircraftProvider), m_modelSetProvider(modelSetProvider), + m_fsdClient(fsdClient), m_analyzer(new CAirspaceAnalyzer(ownAircraftProvider, m_fsdClient, this)) { this->setObjectName("CAirspaceMonitor"); this->enableReverseLookupMessages(sApp->isDeveloperFlagSet() || CBuildConfig::isLocalDeveloperDebugBuild() ? @@ -891,7 +890,7 @@ namespace swift::core const QString &liveryString, const QString &modelString, CAircraftModel::ModelType type, CStatusMessageList *log, bool runMatchinScript) { - const int modelSetCount = this->getModelSetCount(); + const int modelSetCount = m_modelSetProvider->getModelSetCount(); CCallsign::addLogDetailsToList( log, callsign, QStringLiteral("Reverse lookup (with FP data), model set count: %1").arg(modelSetCount), CAirspaceMonitor::getLogCategories()); @@ -901,7 +900,7 @@ namespace swift::core if (hasAnyId) { this->markAsSwiftClient(callsign); } CAircraftModel lookupModel; // result - const CAircraftModelList modelSet = this->getModelSet(); + const CAircraftModelList modelSet = m_modelSetProvider->getModelSet(); const CAircraftMatcherSetup setup = m_matchingSettings.get(); do { // directly check model string diff --git a/src/core/airspacemonitor.h b/src/core/airspacemonitor.h index 39e851770..4b5ca72b8 100644 --- a/src/core/airspacemonitor.h +++ b/src/core/airspacemonitor.h @@ -58,8 +58,7 @@ namespace swift::core // CAirspaceMonitor public swift::misc::network::CClientProvider, // those data will be provided from the class CAirspaceMonitor public swift::misc::simulation::COwnAircraftAware, // used to obtain in memory information about own aircraft - public swift::misc::simulation::CSimulationEnvironmentAware, // elevation info etc. from simulator - public swift::misc::simulation::CAircraftModelSetAware // model set for reverse lookup + public swift::misc::simulation::CSimulationEnvironmentAware // elevation info etc. from simulator { // CRemoteAircraftProvider is QObject Q_OBJECT @@ -279,6 +278,7 @@ namespace swift::core }; //!< settings QQueue m_queryAtis; //!< query the ATIS QQueue m_queryPilot; //!< query the pilot data + misc::simulation::IAircraftModelSetProvider *m_modelSetProvider = nullptr; //!< model set for reverse lookup fsd::CFSDClient *m_fsdClient = nullptr; //!< corresponding network interface CAirspaceAnalyzer *m_analyzer = nullptr; //!< owned analyzer int m_maxDistanceNM = 125; //!< position range / FSD range diff --git a/src/misc/CMakeLists.txt b/src/misc/CMakeLists.txt index 36a78e5b1..461a694b1 100644 --- a/src/misc/CMakeLists.txt +++ b/src/misc/CMakeLists.txt @@ -507,7 +507,6 @@ add_library(misc SHARED simulation/ownaircraftproviderdummy.h simulation/matchingscript.cpp simulation/aircraftmodelloaderprovider.h - simulation/aircraftmodelsetprovider.cpp simulation/simulatorinternals.cpp simulation/fscommon/vpilotrulesreader.h simulation/fscommon/vpilotmodelruleset.cpp diff --git a/src/misc/simulation/aircraftmodelsetprovider.cpp b/src/misc/simulation/aircraftmodelsetprovider.cpp deleted file mode 100644 index f8909d446..000000000 --- a/src/misc/simulation/aircraftmodelsetprovider.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors -// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1 - -#include "misc/simulation/aircraftmodelsetprovider.h" - -namespace swift::misc::simulation -{ - // pin vtables to this file - void CAircraftModelSetAware::anchor() {} - - CAircraftModelList CAircraftModelSetAware::getModelSet() const - { - if (!this->hasProvider()) { return CAircraftModelList(); } - return this->provider()->getModelSet(); - } - - int CAircraftModelSetAware::getModelSetCount() const - { - if (!this->hasProvider()) { return -1; } - return this->provider()->getModelSetCount(); - } - -} // namespace swift::misc::simulation diff --git a/src/misc/simulation/aircraftmodelsetprovider.h b/src/misc/simulation/aircraftmodelsetprovider.h index c1aa5da8b..345313736 100644 --- a/src/misc/simulation/aircraftmodelsetprovider.h +++ b/src/misc/simulation/aircraftmodelsetprovider.h @@ -26,29 +26,6 @@ namespace swift::misc::simulation IAircraftModelSetProvider() = default; }; - //! Delegating class which can be directly used to access an \sa IAircraftModelSetProvider instance - class SWIFT_MISC_EXPORT CAircraftModelSetAware : public IProviderAware - { - virtual void anchor(); - - public: - //! Set the provider - void setAircraftModelSetProvider(IAircraftModelSetProvider *provider) { this->setProvider(provider); } - - //! \copydoc IAircraftModelSetProvider::getModelSet - CAircraftModelList getModelSet() const; - - //! \copydoc IAircraftModelSetProvider::getModelSetCount - int getModelSetCount() const; - - protected: - //! Constructor - CAircraftModelSetAware(IAircraftModelSetProvider *modelSetProvider) : IProviderAware(modelSetProvider) - { - Q_ASSERT(modelSetProvider); - } - }; - } // namespace swift::misc::simulation Q_DECLARE_INTERFACE(swift::misc::simulation::IAircraftModelSetProvider,