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; 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) int CContextNetwork::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{ {
return m_airspace->updateAircraftGroundElevation(callsign, elevation, 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 BlackMisc::Aviation::CAircraftSituationChangeList remoteAircraftSituationChanges(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual int remoteAircraftSituationChangesCount(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 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 int updateAircraftGroundElevation(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Geo::CElevationPlane &elevation, BlackMisc::Aviation::CAircraftSituation::GndElevationInfo info) override;
virtual void updateMarkAllAsNotRendered() override; virtual void updateMarkAllAsNotRendered() override;
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override; virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;

View File

@@ -453,9 +453,22 @@ namespace BlackMisc
bool CRemoteAircraftProvider::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering) bool CRemoteAircraftProvider::updateAircraftEnabled(const CCallsign &callsign, bool enabledForRendering)
{ {
const CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexEnabled, CVariant::fromValue(enabledForRendering)); QWriteLocker l(&m_lockAircraft);
const int c = this->updateAircraftInRange(callsign, vm); if (!m_aircraftInRange.contains(callsign)) { return false; }
return c > 0; 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) bool CRemoteAircraftProvider::updateAircraftModel(const CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator)
@@ -488,6 +501,18 @@ namespace BlackMisc
return m_aircraftInRange[callsign].setRendered(rendered); 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) int CRemoteAircraftProvider::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{ {
if (!this->isAircraftInRange(callsign)) { return 0; } if (!this->isAircraftInRange(callsign)) { return 0; }
@@ -885,6 +910,12 @@ namespace BlackMisc
return this->provider()->updateAircraftRendered(callsign, rendered); 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) int CRemoteAircraftAware::updateAircraftGroundElevation(const CCallsign &callsign, const CElevationPlane &elevation, CAircraftSituation::GndElevationInfo info)
{ {
Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available"); Q_ASSERT_X(this->provider(), Q_FUNC_INFO, "No object available");
@@ -951,10 +982,16 @@ namespace BlackMisc
return this->provider()->getRemoteAircraftSupportingPartsCount(); 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"); 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 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 Aviation::CAircraftSituationChangeList remoteAircraftSituationChanges(const Aviation::CCallsign &callsign) const override;
virtual int remoteAircraftSituationChangesCount(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 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 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 updateAircraftNetworkModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) override;
virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override; virtual bool updateFastPositionEnabled(const Aviation::CCallsign &callsign, bool enableFastPositonUpdates) override;
virtual bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered) 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 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 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; virtual bool updateCGAndModelString(const Aviation::CCallsign &callsign, const PhysicalQuantities::CLength &cg, const QString &modelString) override;
@@ -529,6 +531,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::updateAircraftEnabled //! \copydoc IRemoteAircraftProvider::updateAircraftEnabled
bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRedering); bool updateAircraftEnabled(const Aviation::CCallsign &callsign, bool enabledForRedering);
//! \copydoc IRemoteAircraftProvider::updateMultipleAircraftEnabled
bool updateMultipleAircraftEnabled(const Aviation::CCallsignSet &callsigns, bool enabledForRendering);
//! \copydoc IRemoteAircraftProvider::updateAircraftModel //! \copydoc IRemoteAircraftProvider::updateAircraftModel
bool updateAircraftModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator); bool updateAircraftModel(const Aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator);
@@ -538,6 +543,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::updateAircraftRendered //! \copydoc IRemoteAircraftProvider::updateAircraftRendered
bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered); bool updateAircraftRendered(const Aviation::CCallsign &callsign, bool rendered);
//! \copydoc IRemoteAircraftProvider::updateMultipleAircraftRendered
bool updateMultipleAircraftRendered(const Aviation::CCallsignSet &callsigns, bool rendered);
//! \copydoc IRemoteAircraftProvider::updateAircraftGroundElevation //! \copydoc IRemoteAircraftProvider::updateAircraftGroundElevation
int updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const Geo::CElevationPlane &elevation, Aviation::CAircraftSituation::GndElevationInfo info); int updateAircraftGroundElevation(const Aviation::CCallsign &callsign, const Geo::CElevationPlane &elevation, Aviation::CAircraftSituation::GndElevationInfo info);