Ref T335, update "enabled/"rendered" for multiple callsigns

This commit is contained in:
Klaus Basan
2018-09-12 16:20:39 +02:00
parent c675ef5c32
commit 68b72d9c5c
4 changed files with 64 additions and 5 deletions

View File

@@ -852,6 +852,18 @@ namespace BlackCore
return c;
}
int CContextNetwork::updateMultipleAircraftRendered(const CCallsignSet &callsigns, bool rendered)
{
const int c = m_airspace->updateMultipleAircraftRendered(callsigns, rendered);
return c;
}
int CContextNetwork::updateMultipleAircraftEnabled(const CCallsignSet &callsigns, bool enabled)
{
const int c = m_airspace->updateMultipleAircraftEnabled(callsigns, enabled);
return c;
}
int CContextNetwork::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{
return m_airspace->updateAircraftGroundElevation(callsign, elevation, info);

View File

@@ -103,6 +103,8 @@ namespace BlackCore
virtual BlackMisc::Aviation::CAircraftSituationChangeList remoteAircraftSituationChanges(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual int remoteAircraftSituationChangesCount(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual bool updateAircraftRendered(const BlackMisc::Aviation::CCallsign &callsign, bool rendered) override;
virtual int updateMultipleAircraftRendered(const BlackMisc::Aviation::CCallsignSet &callsigns, bool rendered) override;
virtual int updateMultipleAircraftEnabled(const BlackMisc::Aviation::CCallsignSet &callsigns, bool enabled) override;
virtual int updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation, BlackMisc::Aviation::CAircraftSituation::GndElevationInfo info) override;
virtual void updateMarkAllAsNotRendered() override;
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;

View File

@@ -453,9 +453,22 @@ namespace BlackMisc
bool CRemoteAircraftProvider::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
{
const CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRendering));
const int c = this->updateAircraftInRange(callsign, vm);
return c > 0;
QWriteLocker l(&m_lockAircraft);
if (!m_aircraftInRange.contains(callsign)) { return false; }
return m_aircraftInRange[callsign].setEnabled(enabledForRendering);
}
int CRemoteAircraftProvider::updateMultipleAircraftEnabled(const CCallsignSet &callsigns, bool enabledForRendering)
{
if (callsigns.isEmpty()) { return 0; }
QWriteLocker l(&m_lockAircraft);
int c = 0;
for (const CCallsign &cs : callsigns)
{
if (!m_aircraftInRange.contains(cs)) { continue; }
if (m_aircraftInRange[cs].setEnabled(enabledForRendering)) { c++; }
}
return c;
}
bool CRemoteAircraftProvider::updateAircraftModel(const CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator)
@@ -488,6 +501,18 @@ namespace BlackMisc
return m_aircraftInRange[callsign].setRendered(rendered);
}
int CRemoteAircraftProvider::updateMultipleAircraftRendered(const CCallsignSet &callsigns, bool rendered)
{
if (callsigns.isEmpty()) { return 0; }
int c = 0;
for (const CCallsign &cs : callsigns)
{
if (!m_aircraftInRange.contains(cs)) { continue; }
if (m_aircraftInRange[cs].setRendered(rendered)) { c++; }
}
return c;
}
int CRemoteAircraftProvider::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{
if (!this->isAircraftInRange(callsign)) { return 0; }
@@ -885,6 +910,12 @@ namespace BlackMisc
return this->provider()->updateAircraftRendered(callsign, rendered);
}
bool CRemoteAircraftAware::updateMultipleAircraftRendered(const CCallsignSet &callsigns, bool rendered)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
return this->provider()->updateMultipleAircraftRendered(callsigns, rendered);
}
int CRemoteAircraftAware::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
@@ -951,10 +982,16 @@ namespace BlackMisc
return this->provider()->getRemoteAircraftSupportingPartsCount();
}
bool CRemoteAircraftAware::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRedering)
bool CRemoteAircraftAware::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
return this->provider()->updateAircraftEnabled(callsign, enabledForRedering);
return this->provider()->updateAircraftEnabled(callsign, enabledForRendering);
}
bool CRemoteAircraftAware::updateMultipleAircraftEnabled(const CCallsignSet &callsigns, bool enabledForRendering)
{
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
return this->provider()->updateMultipleAircraftEnabled(callsigns, enabledForRendering);
}
CAircraftParts IRemoteAircraftProvider::getLatestAircraftParts(const CCallsign &callsign) const

View File

@@ -302,10 +302,12 @@ 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 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;
virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
virtual bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered) override;
virtual int updateMultipleAircraftRendered(const Aviation::CCallsignSet &callsigns, bool rendered) override;
virtual int updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const Geo::CElevationPlane &elevation, Aviation::CAircraftSituation::GndElevationInfo info) override;
virtual bool updateCG(const Aviation::CCallsign &callsign, const PhysicalQuantities::CLength &cg) override;
virtual bool updateCGAndModelString(const Aviation::CCallsign &callsign, const PhysicalQuantities::CLength &cg, const QString &modelString) override;
@@ -529,6 +531,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRedering);
//! \copydoc IRemoteAircraftProvider::updateMultipleAircraftEnabled
bool updateMultipleAircraftEnabled(const Aviation::CCallsignSet &callsigns, bool enabledForRendering);
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
bool updateAircraftModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator);
@@ -538,6 +543,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::updateAircraftRendered
bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered);
//! \copydoc IRemoteAircraftProvider::updateMultipleAircraftRendered
bool updateMultipleAircraftRendered(const Aviation::CCallsignSet &callsigns, bool rendered);
//! \copydoc IRemoteAircraftProvider::updateAircraftGroundElevation
int updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const Geo::CElevationPlane &elevation, Aviation::CAircraftSituation::GndElevationInfo info);