mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T379, to improve reset models added "setAircraftEnabledFlag" to just set the flag, not sending signals causing removed aircraft
This commit is contained in:
@@ -269,6 +269,9 @@ namespace BlackCore
|
||||
//! Enable/disable rendering
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) = 0;
|
||||
|
||||
//! Set the enabled flag without any further logic like sending signals
|
||||
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) = 0;
|
||||
|
||||
//! Enable/disable support of gnd. flag
|
||||
virtual bool updateAircraftSupportingGndFLag(const BlackMisc::Aviation::CCallsign &callsign, bool supportGndFlag) = 0;
|
||||
|
||||
|
||||
@@ -354,6 +354,15 @@ namespace BlackCore
|
||||
return false;
|
||||
}
|
||||
|
||||
//! \copydoc IContextNetwork::setAircraftEnabledFlag
|
||||
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override
|
||||
{
|
||||
logEmptyContextWarning(Q_FUNC_INFO);
|
||||
Q_UNUSED(callsign);
|
||||
Q_UNUSED(enabledForRendering);
|
||||
return false;
|
||||
}
|
||||
|
||||
//! \copydoc IContextNetwork::reInitializeAllAircraft
|
||||
virtual int reInitializeAllAircraft() override
|
||||
{
|
||||
|
||||
@@ -122,6 +122,12 @@ namespace BlackCore
|
||||
return m_airspace->remoteAircraftSituation(callsign, index);
|
||||
}
|
||||
|
||||
MillisecondsMinMaxMean CContextNetwork::remoteAircraftSituationsTimestampDifferenceMinMaxMean(const CCallsign &callsign) const
|
||||
{
|
||||
Q_ASSERT(m_airspace);
|
||||
return m_airspace->remoteAircraftSituationsTimestampDifferenceMinMaxMean(callsign);
|
||||
}
|
||||
|
||||
CAircraftSituationList CContextNetwork::latestRemoteAircraftSituations() const
|
||||
{
|
||||
Q_ASSERT(m_airspace);
|
||||
@@ -774,6 +780,12 @@ namespace BlackCore
|
||||
return c;
|
||||
}
|
||||
|
||||
bool CContextNetwork::setAircraftEnabledFlag(const CCallsign &callsign, bool enabledForRendering)
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign; }
|
||||
return m_airspace->setAircraftEnabledFlag(callsign, enabledForRendering);
|
||||
}
|
||||
|
||||
bool CContextNetwork::updateAircraftModel(const CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator)
|
||||
{
|
||||
Q_ASSERT(m_airspace);
|
||||
@@ -807,7 +819,7 @@ namespace BlackCore
|
||||
if (c)
|
||||
{
|
||||
const CSimulatedAircraft aircraft(this->getAircraftInRangeForCallsign(callsign));
|
||||
CLogMessage(this).info("Callsign %1 sets fast positions ") << aircraft.getCallsign() << BlackMisc::boolToOnOff(aircraft.fastPositionUpdates());
|
||||
CLogMessage(this).info("Callsign '%1' fast positions '%2'") << aircraft.getCallsign() << BlackMisc::boolToOnOff(aircraft.fastPositionUpdates());
|
||||
emit this->changedFastPositionUpdates(aircraft);
|
||||
}
|
||||
return c;
|
||||
@@ -876,6 +888,7 @@ namespace BlackCore
|
||||
|
||||
int CContextNetwork::reInitializeAllAircraft()
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
return m_airspace->reInitializeAllAircraft();
|
||||
}
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ namespace BlackCore
|
||||
//! @{
|
||||
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual BlackMisc::Aviation::CAircraftSituation remoteAircraftSituation(const BlackMisc::Aviation::CCallsign &callsign, int index) const override;
|
||||
virtual BlackMisc::MillisecondsMinMaxMean remoteAircraftSituationsTimestampDifferenceMinMaxMean(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual BlackMisc::Aviation::CAircraftSituationList latestRemoteAircraftSituations() const override;
|
||||
virtual BlackMisc::Aviation::CAircraftSituationList latestOnGroundProviderElevations() const override;
|
||||
virtual int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
@@ -153,12 +154,18 @@ namespace BlackCore
|
||||
// from context and provider interface
|
||||
//! \ingroup remoteaircraftprovider
|
||||
//! @{
|
||||
|
||||
// emit signal when changed
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
|
||||
virtual int reInitializeAllAircraft() override;
|
||||
virtual bool updateAircraftSupportingGndFLag(const BlackMisc::Aviation::CCallsign &callsign, bool supportGndFlag) override;
|
||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||
|
||||
// plain vanilla passing to airspace monitor
|
||||
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
virtual int reInitializeAllAircraft() override;
|
||||
virtual bool updateCG(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CLength &cg) override;
|
||||
virtual bool updateCGAndModelString(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::PhysicalQuantities::CLength &cg, const QString &modelString) override;
|
||||
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
|
||||
@@ -170,7 +177,6 @@ namespace BlackCore
|
||||
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual bool isReverseLookupMessagesEnabled() const override;
|
||||
virtual void enableReverseLookupMessages(bool enabled) override;
|
||||
virtual BlackMisc::CStatusMessageList getAircraftPartsHistory(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual BlackMisc::Aviation::CAircraftPartsList getRemoteAircraftParts(const BlackMisc::Aviation::CCallsign &callsign) const override;
|
||||
virtual int getRemoteAircraftSupportingPartsCount() const override;
|
||||
|
||||
@@ -208,9 +208,14 @@ namespace BlackCore
|
||||
m_dBusInterface->callDBus(QLatin1String("requestAtisUpdates"));
|
||||
}
|
||||
|
||||
bool CContextNetworkProxy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRedering)
|
||||
bool CContextNetworkProxy::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
|
||||
{
|
||||
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftEnabled"), callsign, enabledForRedering);
|
||||
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateAircraftEnabled"), callsign, enabledForRendering);
|
||||
}
|
||||
|
||||
bool CContextNetworkProxy::setAircraftEnabledFlag(const CCallsign &callsign, bool enabledForRendering)
|
||||
{
|
||||
return m_dBusInterface->callDBusRet<bool>(QLatin1String("setEnabledFlag"), callsign, enabledForRendering);
|
||||
}
|
||||
|
||||
bool CContextNetworkProxy::updateAircraftModel(const CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator)
|
||||
|
||||
@@ -106,7 +106,8 @@ namespace BlackCore
|
||||
virtual bool setOtherClient(const BlackMisc::Network::CClient &client) override;
|
||||
virtual void requestDataUpdates()override;
|
||||
virtual void requestAtisUpdates() override;
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRedering) override;
|
||||
virtual bool updateAircraftEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
virtual bool setAircraftEnabledFlag(const BlackMisc::Aviation::CCallsign &callsign, bool enabledForRendering) override;
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateAircraftNetworkModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const BlackMisc::CIdentifier &originator) override;
|
||||
virtual bool updateFastPositionEnabled(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending) override;
|
||||
|
||||
@@ -870,9 +870,10 @@ namespace BlackCore
|
||||
{
|
||||
CSimulatedAircraft aircraft = this->getAircraftInRangeForCallsign(callsign);
|
||||
if (aircraft.getCallsign() != callsign) { return false; } // not found
|
||||
this->updateAircraftEnabled(callsign, true);
|
||||
aircraft.setModel(aircraft.getNetworkModel());
|
||||
xCtxAddedRemoteAircraftReadyForModelMatching(aircraft);
|
||||
this->setAircraftEnabledFlag(callsign, true); // plain vanilla flag
|
||||
this->updateAircraftRendered(callsign, false); // this is flag only anyway
|
||||
aircraft.setModel(aircraft.getNetworkModel()); // like originally from network
|
||||
this->xCtxAddedRemoteAircraftReadyForModelMatching(aircraft);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user