Check for known model so mapping component can check without loaded model set

This commit is contained in:
Klaus Basan
2018-09-11 03:44:03 +02:00
parent 7613ec9219
commit e1ffa49268
7 changed files with 35 additions and 2 deletions

View File

@@ -187,6 +187,9 @@ namespace BlackCore
//! Model set completer string
virtual QStringList getModelSetCompleterStrings(bool sorted) const = 0;
//! Known model?
virtual bool isKnownModel(const QString &modelstring) const = 0;
//! Set time synchronization between simulator and user's computer time
//! \remarks not all drivers implement this, e.g. if it is an intrinsic simulator feature
virtual bool setTimeSynchronization(bool enable, const BlackMisc::PhysicalQuantities::CTime &offset) = 0;

View File

@@ -130,6 +130,14 @@ namespace BlackCore
return QStringList();
}
//! \copydoc IContextSimulator::isKnownModel
virtual bool isKnownModel(const QString &modelstring) const override
{
Q_UNUSED(modelstring);
logEmptyContextWarning(Q_FUNC_INFO);
return false;
}
//! \copydoc IContextSimulator::getModelSetModelsStartingWith
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override
{

View File

@@ -247,6 +247,13 @@ namespace BlackCore
return this->getModelSet().getModelStringList(false);
}
bool CContextSimulator::isKnownModel(const QString &modelString) const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
const bool known = this->getModelSet().containsModelString(modelString);
return known;
}
QStringList CContextSimulator::getModelSetCompleterStrings(bool sorted) const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << sorted; }

View File

@@ -86,6 +86,7 @@ namespace BlackCore
virtual BlackMisc::CStatusMessageList verifyPrerequisites() const override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual bool isKnownModel(const QString &modelString) const override;
virtual int getModelSetCount() const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override;
virtual BlackMisc::PhysicalQuantities::CTime getTimeSynchronizationOffset() const override;

View File

@@ -141,6 +141,11 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<QStringList>(QLatin1String("getModelSetCompleterStrings"), sorted);
}
bool CContextSimulatorProxy::isKnownModel(const QString &modelString) const
{
return m_dBusInterface->callDBusRet<bool>(QLatin1String("isKnownModel"), modelString);
}
CAircraftModelList CContextSimulatorProxy::getModelSetModelsStartingWith(const QString &modelString) const
{
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CAircraftModelList>(QLatin1String("getModelSetModelsStartingWith"), modelString);

View File

@@ -70,6 +70,7 @@ namespace BlackCore
virtual void setModelSetLoaderSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual QStringList getModelSetStrings() const override;
virtual QStringList getModelSetCompleterStrings(bool sorted) const override;
virtual bool isKnownModel(const QString &modelString) const override;
virtual BlackMisc::Simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override;
virtual int getModelSetCount() const override;
virtual BlackMisc::Simulation::CSimulatorInternals getSimulatorInternals() const override;