Ref T298, prepared function to "redo" a mapping

This commit is contained in:
Klaus Basan
2018-08-09 01:31:31 +02:00
parent 34e67f9485
commit 5b44f55435
5 changed files with 29 additions and 0 deletions

View File

@@ -242,6 +242,9 @@ namespace BlackCore
//! Request weather grid. Argument identifier is past in the signal to identify the requestor
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) = 0;
//! Repeat the mapping
virtual bool doMappingAgain(const BlackMisc::Aviation::CCallsign &callsign) = 0;
//! Current matching statistics
virtual BlackMisc::Simulation::CMatchingStatistics getCurrentMatchingStatistics(bool missingOnly) const = 0;

View File

@@ -238,6 +238,13 @@ namespace BlackCore
return false;
}
//! \copydoc IContextSimulator::doMappingAgain
virtual bool doMappingAgain(const BlackMisc::Aviation::CCallsign &callsign) override
{
Q_UNUSED(callsign);
return false;
}
//! \copydoc IContextSimulator::setWeatherActivated
virtual void setWeatherActivated(bool activated) override
{

View File

@@ -854,6 +854,23 @@ namespace BlackCore
m_weatherManager.requestWeatherGrid(weatherGrid, identifier);
}
bool CContextSimulator::doMappingAgain(const CCallsign &callsign)
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign.asString(); }
if (!this->isAircraftInRange(callsign)) { return false; }
if (!this->isSimulatorAvailable()) { return false; }
QPointer<CContextSimulator> myself(this);
QTimer::singleShot(2500, this, [ = ]
{
if (!myself) { return; }
const CSimulatedAircraft aircraft = this->getAircraftInRangeForCallsign(callsign);
if (!aircraft.hasCallsign()) { return; } // no longer valid
this->xCtxAddedRemoteAircraftReadyForModelMatching(aircraft);
});
return false;
}
void CContextSimulator::onSimulatorStarted(const CSimulatorPluginInfo &info)
{
this->stopSimulatorListeners();

View File

@@ -101,6 +101,7 @@ namespace BlackCore
virtual bool resetToModelMatchingAircraft(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual void setWeatherActivated(bool activated) override;
virtual void requestWeatherGrid(const BlackMisc::Weather::CWeatherGrid &weatherGrid, const BlackMisc::CIdentifier &identifier) override;
virtual bool doMappingAgain(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual BlackMisc::CStatusMessageList getMatchingMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual bool isMatchingMessagesEnabled() const override;
virtual void enableMatchingMessages(bool enabled) override;

View File

@@ -91,6 +91,7 @@ namespace BlackCore
virtual bool isMatchingMessagesEnabled() const override;
virtual void enableMatchingMessages(bool enabled) override;
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
virtual bool doMappingAgain(const BlackMisc::Aviation::CCallsign &callsign) override;
virtual BlackMisc::Simulation::CMatchingStatistics getCurrentMatchingStatistics(bool missingOnly) const override;
virtual void setMatchingSetup(const BlackMisc::Simulation::CAircraftMatcherSetup &setup) override;
virtual BlackMisc::Simulation::CAircraftMatcherSetup getMatchingSetup() const override;