Ref T27, made isAircraftInRange context and provider function

Based on clang warnings and RW's comment now pure virtual and context and provider function
This commit is contained in:
Klaus Basan
2017-06-29 18:10:26 +02:00
committed by Mathew Sutcliffe
parent 1400f38aa9
commit ec844fd438
9 changed files with 26 additions and 12 deletions

View File

@@ -89,6 +89,7 @@ namespace BlackCore
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual int getAircraftInRangeCount() const override;
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual int remoteAircraftSituationsCount(const BlackMisc::Aviation::CCallsign &callsign) const override;
@@ -142,10 +143,6 @@ namespace BlackCore
//! \threadsafe
bool hasClientInfo(const BlackMisc::Aviation::CCallsign &callsign) const;
//! Is aircraft in range?
//! \threadsafe
bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const;
//! Returns the current online ATC stations (consolidated with booked stations)
BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const { return m_atcStationsOnline; }

View File

@@ -184,6 +184,9 @@ namespace BlackCore
//! Aircraft count
virtual int getAircraftInRangeCount() const = 0;
//! Aircraft in range
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Get METAR, if not available request it (code such as EDDF, KLAX)
virtual BlackMisc::Weather::CMetar getMetarForAirport(const BlackMisc::Aviation::CAirportIcaoCode &airportIcaoCode) const = 0;

View File

@@ -79,6 +79,14 @@ namespace BlackCore
return 0;
}
//! \copydoc IContextNetwork::isAircraftInRange
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const override
{
Q_UNUSED(callsign);
logEmptyContextWarning(Q_FUNC_INFO);
return false;
}
//! \copydoc IContextNetwork::getOnlineStationForCallsign
virtual BlackMisc::Aviation::CAtcStation getOnlineStationForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override
{

View File

@@ -502,6 +502,12 @@ namespace BlackCore
return this->m_airspace->getAircraftInRangeCount();
}
bool CContextNetwork::isAircraftInRange(const CCallsign &callsign) const
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
return this->m_airspace->isAircraftInRange(callsign);
}
CSimulatedAircraft CContextNetwork::getAircraftInRangeForCallsign(const CCallsign &callsign) const
{
if (this->isDebugEnabled()) { CLogMessage(this, BlackMisc::CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign; }

View File

@@ -116,6 +116,7 @@ namespace BlackCore
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
virtual int getAircraftInRangeCount() const override;
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::CStatusMessageList getReverseLookupMessages(const BlackMisc::Aviation::CCallsign &callsign) const override;

View File

@@ -131,6 +131,11 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<int>(QLatin1String("getAircraftInRangeCount"));
}
bool CContextNetworkProxy::isAircraftInRange(const CCallsign &callsign) const
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("isAircraftInRange"), callsign);
}
CSimulatedAircraft CContextNetworkProxy::getAircraftInRangeForCallsign(const CCallsign &callsign) const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatedAircraft>(QLatin1String("getAircraftInRangeForCallsign"), callsign);

View File

@@ -81,6 +81,7 @@ namespace BlackCore
virtual BlackMisc::Simulation::CSimulatedAircraftList getAircraftInRange() const override;
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const override;
virtual int getAircraftInRangeCount() const override;
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::Aviation::CAtcStation getOnlineStationForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
virtual BlackMisc::CStatusMessage connectToNetwork(const BlackMisc::Network::CServer &server, BlackCore::INetwork::LoginMode mode) override;

View File

@@ -16,12 +16,6 @@ namespace BlackMisc
{
namespace Simulation
{
bool IRemoteAircraftProvider::isAircraftInRange(const CCallsign &callsign) const
{
if (callsign.isEmpty()) { return false; }
return this->getAircraftInRange().containsCallsign(callsign);
}
CSimulatedAircraftList CRemoteAircraftAware::getAircraftInRange() const
{
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");

View File

@@ -69,9 +69,8 @@ namespace BlackMisc
virtual BlackMisc::Aviation::CCallsignSet getAircraftInRangeCallsigns() const = 0;
//! Is aircraft in range?
//! \remark convenience function with default implementation
//! \threadsafe
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const;
virtual bool isAircraftInRange(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Current snapshot
//! \threadsafe