Ref T379, to improve reset models added "setAircraftEnabledFlag" to just set the flag, not sending signals causing removed aircraft

This commit is contained in:
Klaus Basan
2018-09-30 23:25:42 +02:00
parent 2eb1316f80
commit 756ee18410
9 changed files with 71 additions and 11 deletions

View File

@@ -472,6 +472,12 @@ namespace BlackMisc
}
bool CRemoteAircraftProvider::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
{
// here just synonym
return this->setAircraftEnabledFlag(callsign, enabledForRendering);
}
bool CRemoteAircraftProvider::setAircraftEnabledFlag(const CCallsign &callsign, bool enabledForRendering)
{
QWriteLocker l(&m_lockAircraft);
if (!m_aircraftInRange.contains(callsign)) { return false; }
@@ -1008,6 +1014,12 @@ namespace BlackMisc
return this->provider()->updateAircraftEnabled(callsign, enabledForRendering);
}
bool CRemoteAircraftAware::setAircraftEnabledFlag(const CCallsign &callsign, bool enabledForRendering)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
return this->provider()->setAircraftEnabledFlag(callsign, enabledForRendering);
}
bool CRemoteAircraftAware::updateMultipleAircraftEnabled(const CCallsignSet &callsigns, bool enabledForRendering)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");

View File

@@ -153,10 +153,15 @@ namespace BlackMisc
//! \threadsafe
virtual int remoteAircraftSituationChangesCount(const Aviation::CCallsign &callsign) const = 0;
//! Enable/disable aircraft
//! Enable/disable aircraft and follow up logic like sending signals
//! \threadsafe
//! \remark depending on implementation similar or more sophisticated as setEnabledFlag
virtual bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRendering) = 0;
//! Just set enable/disable aircraft flag, no further logic
//! \threadsafe
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) = 0;
//! Enable/disable aircraft
//! \threadsafe
virtual int updateMultipleAircraftEnabled(const Aviation::CCallsignSet &callsigns, bool enabledForRendering) = 0;
@@ -295,6 +300,7 @@ namespace BlackMisc
virtual bool isVtolAircraft(const Aviation::CCallsign &callsign) const override;
virtual Aviation::CAircraftSituationList remoteAircraftSituations(const Aviation::CCallsign &callsign) const override;
virtual Aviation::CAircraftSituation remoteAircraftSituation(const Aviation::CCallsign &callsign, int index) const override;
virtual MillisecondsMinMaxMean remoteAircraftSituationsTimestampDifferenceMinMaxMean(const Aviation::CCallsign &callsign) const override;
virtual Aviation::CAircraftSituationList latestRemoteAircraftSituations() const override;
virtual Aviation::CAircraftSituationList latestOnGroundProviderElevations() const override;
virtual int remoteAircraftSituationsCount(const Aviation::CCallsign &callsign) const override;
@@ -306,6 +312,7 @@ namespace BlackMisc
virtual Aviation::CAircraftSituationChangeList remoteAircraftSituationChanges(const Aviation::CCallsign &callsign) const override;
virtual int remoteAircraftSituationChangesCount(const Aviation::CCallsign &callsign) const override;
virtual bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRendering) override;
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
virtual int updateMultipleAircraftEnabled(const Aviation::CCallsignSet &callsigns, bool enabledForRendering) override;
virtual bool updateAircraftModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) override;
virtual bool updateAircraftNetworkModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) override;
@@ -538,7 +545,10 @@ namespace BlackMisc
int getRemoteAircraftSupportingPartsCount() const;
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRedering);
bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRendering);
//! \copydoc IRemoteAircraftProvider::setAircraftEnabledFlag
bool setAircraftEnabledFlag(const Aviation::CCallsign &callsign, bool enabledForRendering);
//! \copydoc IRemoteAircraftProvider::updateMultipleAircraftEnabled
bool updateMultipleAircraftEnabled(const Aviation::CCallsignSet &callsigns, bool enabledForRendering);