diff --git a/src/blackcore/context/contextsimulator.h b/src/blackcore/context/contextsimulator.h index 95828c75f..a57c00d94 100644 --- a/src/blackcore/context/contextsimulator.h +++ b/src/blackcore/context/contextsimulator.h @@ -142,6 +142,9 @@ namespace BlackCore //! \note might be slow since list can be big virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const = 0; + //! Simulators which have an initialized model set + virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const = 0; + //! Number of installed models in simulator eco system virtual int getModelSetCount() const = 0; diff --git a/src/blackcore/context/contextsimulatorempty.h b/src/blackcore/context/contextsimulatorempty.h index 78457a27e..e7afb6f58 100644 --- a/src/blackcore/context/contextsimulatorempty.h +++ b/src/blackcore/context/contextsimulatorempty.h @@ -80,6 +80,13 @@ namespace BlackCore return BlackMisc::Simulation::CAircraftModelList(); } + //! \copydoc IContextSimulator::simulatorsWithInitializedModelSet + virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override + { + logEmptyContextWarning(Q_FUNC_INFO); + return BlackMisc::Simulation::CSimulatorInfo(); + } + //! \copydoc IContextSimulator::getModelSetStrings virtual QStringList getModelSetStrings() const override { diff --git a/src/blackcore/context/contextsimulatorimpl.cpp b/src/blackcore/context/contextsimulatorimpl.cpp index 608a1274b..c40c3379c 100644 --- a/src/blackcore/context/contextsimulatorimpl.cpp +++ b/src/blackcore/context/contextsimulatorimpl.cpp @@ -157,6 +157,12 @@ namespace BlackCore return m_modelMatcher.getModelSet(); } + CSimulatorInfo CContextSimulator::simulatorsWithInitializedModelSet() const + { + if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + return m_modelSetLoader.simulatorsWithInitializedModelSet(); + } + QStringList CContextSimulator::getModelSetStrings() const { if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } diff --git a/src/blackcore/context/contextsimulatorimpl.h b/src/blackcore/context/contextsimulatorimpl.h index f9904fc6d..34c210220 100644 --- a/src/blackcore/context/contextsimulatorimpl.h +++ b/src/blackcore/context/contextsimulatorimpl.h @@ -83,6 +83,7 @@ namespace BlackCore virtual BlackMisc::Simulation::CSimulatorInternals getSimulatorInternals() const override; virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override; virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override; + virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override; virtual QStringList getModelSetStrings() const override; virtual QStringList getModelSetCompleterStrings(bool sorted) const override; virtual int getModelSetCount() const override; diff --git a/src/blackcore/context/contextsimulatorproxy.cpp b/src/blackcore/context/contextsimulatorproxy.cpp index e6e69bbcd..ecc01085e 100644 --- a/src/blackcore/context/contextsimulatorproxy.cpp +++ b/src/blackcore/context/contextsimulatorproxy.cpp @@ -89,6 +89,11 @@ namespace BlackCore return m_dBusInterface->callDBusRet(QLatin1Literal("getModelSet")); } + CSimulatorInfo CContextSimulatorProxy::simulatorsWithInitializedModelSet() const + { + return m_dBusInterface->callDBusRet(QLatin1Literal("simulatorsWithInitializedModelSet")); + } + QStringList CContextSimulatorProxy::getModelSetStrings() const { return m_dBusInterface->callDBusRet(QLatin1Literal("getModelSetStrings")); diff --git a/src/blackcore/context/contextsimulatorproxy.h b/src/blackcore/context/contextsimulatorproxy.h index 989d7c58d..737803821 100644 --- a/src/blackcore/context/contextsimulatorproxy.h +++ b/src/blackcore/context/contextsimulatorproxy.h @@ -60,6 +60,7 @@ namespace BlackCore virtual int getSimulatorStatus() const override; virtual BlackMisc::Aviation::CAirportList getAirportsInRange() const override; virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override; + virtual BlackMisc::Simulation::CSimulatorInfo simulatorsWithInitializedModelSet() const override; virtual QStringList getModelSetStrings() const override; virtual QStringList getModelSetCompleterStrings(bool sorted) const override; virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString modelString) const override;