Ref T717, function to send parts/situation for testing and in the model browser

This commit is contained in:
Klaus Basan
2019-09-15 14:51:12 +02:00
committed by Mat Sutcliffe
parent 73b9371c73
commit f80e093a0a
21 changed files with 188 additions and 14 deletions

View File

@@ -316,6 +316,9 @@ namespace BlackCore
//! Test a remote aircraft
virtual bool testRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, bool add) = 0;
//! Test update remote aircraft
virtual bool testUpdateRemoteAircraft(const BlackMisc::Aviation::CCallsign cs, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) = 0;
//! Get matching setup
virtual BlackMisc::Simulation::CAircraftMatcherSetup getMatchingSetup() const = 0;

View File

@@ -419,6 +419,16 @@ namespace BlackCore
return false;
}
//! \copydoc IContextSimulator::testUpdateRemoteAircraft
virtual bool testUpdateRemoteAircraft(const BlackMisc::Aviation::CCallsign cs, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override
{
Q_UNUSED(cs);
Q_UNUSED(situation);
Q_UNUSED(parts);
logEmptyContextWarning(Q_FUNC_INFO);
return false;
}
//! \copydoc IContextSimulator::setMatchingSetup
virtual BlackMisc::Simulation::CAircraftMatcherSetup getMatchingSetup() const override
{

View File

@@ -1019,6 +1019,14 @@ namespace BlackCore
return added;
}
bool CContextSimulator::testUpdateRemoteAircraft(const CCallsign cs, const CAircraftSituation &situation, const CAircraftParts &parts)
{
if (!m_simulatorPlugin.second || !m_simulatorPlugin.second->isConnected()) { return false; }
CAircraftSituation s = situation; // make sure to have correct callsign
s.setCallsign(cs);
return m_simulatorPlugin.second->testSendSituationAndParts(cs, s, parts);
}
bool CContextSimulator::parseCommandLine(const QString &commandLine, const CIdentifier &originator)
{
Q_UNUSED(originator);

View File

@@ -128,6 +128,7 @@ namespace BlackCore
virtual BlackMisc::Simulation::CAircraftMatcherSetup getMatchingSetup() const override;
virtual BlackMisc::CStatusMessageList copyFsxTerrainProbe(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual bool testRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, bool add) override;
virtual bool testUpdateRemoteAircraft(const BlackMisc::Aviation::CCallsign cs, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
// also in IAircraftModelSetProvider
virtual BlackMisc::Simulation::CAircraftModelList getModelSet() const override;

View File

@@ -375,5 +375,10 @@ namespace BlackCore
return m_dBusInterface->callDBusRet<bool>(QLatin1String("testRemoteAircraft"), aircraft, add);
}
bool CContextSimulatorProxy::testUpdateRemoteAircraft(const CCallsign cs, const CAircraftSituation &situation, const CAircraftParts &parts)
{
return m_dBusInterface->callDBusRet<bool>(QLatin1String("testUpdateRemoteAircraft"), cs, situation, parts);
}
} // namespace
} // namespace

View File

@@ -111,6 +111,7 @@ namespace BlackCore
virtual BlackMisc::Simulation::CAircraftMatcherSetup getMatchingSetup() const override;
virtual BlackMisc::CStatusMessageList copyFsxTerrainProbe(const BlackMisc::Simulation::CSimulatorInfo &simulator) override;
virtual bool testRemoteAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, bool add) override;
virtual bool testUpdateRemoteAircraft(const BlackMisc::Aviation::CCallsign cs, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) override;
//! @}
private:

View File

@@ -215,6 +215,9 @@ namespace BlackCore
//! Test mode?
bool isTestMode() const { return m_test; }
//! Send situation/parts for testing
virtual bool testSendSituationAndParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftSituation &situation, const BlackMisc::Aviation::CAircraftParts &parts) = 0;
//! Debug function to check state after all aircraft have been removed
//! \remarks only in local developer builds
virtual BlackMisc::CStatusMessageList debugVerifyStateAfterAllAircraftRemoved() const;