refs #452, updated aircraft providers

* to update own Aircraft/Airline ICAO codes signature
* get aircraft in range for callsign
This commit is contained in:
Klaus Basan
2015-09-23 18:22:37 +02:00
committed by Mathew Sutcliffe
parent 8dba22f7f0
commit dbcc540313
8 changed files with 36 additions and 14 deletions

View File

@@ -8,9 +8,9 @@
*/ */
#include "ownaircraftprovider.h" #include "ownaircraftprovider.h"
#include "blackmisc/aviation/aircraft.h"
using namespace BlackMisc::Aviation; using namespace BlackMisc::Aviation;
using namespace BlackMisc::Geo;
using namespace BlackMisc::PhysicalQuantities; using namespace BlackMisc::PhysicalQuantities;
namespace BlackMisc namespace BlackMisc
@@ -24,7 +24,7 @@ namespace BlackMisc
return this->m_ownAircraftProvider->getOwnAircraft(); return this->m_ownAircraftProvider->getOwnAircraft();
} }
Geo::CCoordinateGeodetic COwnAircraftAware::getOwnAircraftPosition() const CCoordinateGeodetic COwnAircraftAware::getOwnAircraftPosition() const
{ {
Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available");
return this->m_ownAircraftProvider->getOwnAircraftPosition(); return this->m_ownAircraftProvider->getOwnAircraftPosition();
@@ -90,10 +90,10 @@ namespace BlackMisc
return this->m_ownAircraftProvider->updateOwnCallsign(callsign); return this->m_ownAircraftProvider->updateOwnCallsign(callsign);
} }
bool COwnAircraftAware::updateOwnIcaoData(const CAircraftIcaoData &icaoData) bool COwnAircraftAware::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoData, const CAirlineIcaoCode &airlineIcaoCode)
{ {
Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available");
return this->m_ownAircraftProvider->updateOwnIcaoData(icaoData); return this->m_ownAircraftProvider->updateOwnIcaoCodes(aircraftIcaoData, airlineIcaoCode);
} }
} // namespace } // namespace

View File

@@ -20,7 +20,6 @@ namespace BlackMisc
{ {
namespace Simulation namespace Simulation
{ {
//! Direct threadsafe in memory access to own aircraft //! Direct threadsafe in memory access to own aircraft
class BLACKMISC_EXPORT IOwnAircraftProvider class BLACKMISC_EXPORT IOwnAircraftProvider
{ {
@@ -52,7 +51,7 @@ namespace BlackMisc
//! Update ICAO data //! Update ICAO data
//! \threadsafe //! \threadsafe
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) = 0; virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) = 0;
//! Update model //! Update model
//! \threadsafe //! \threadsafe
@@ -114,8 +113,8 @@ namespace BlackMisc
//! \copydoc IOwnAircraftProvider::updateOwnCallsign //! \copydoc IOwnAircraftProvider::updateOwnCallsign
virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign); virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign);
//! \copydoc IOwnAircraftProvider::updateOwnIcaoData //! \copydoc IOwnAircraftProvider::updateOwnIcaoCodes
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData); virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoData, const Aviation::CAirlineIcaoCode &airlineIcaoCode);
//! \copydoc IOwnAircraftProvider::updateOwnModel //! \copydoc IOwnAircraftProvider::updateOwnModel
virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model); virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model);
@@ -135,4 +134,6 @@ namespace BlackMisc
} // namespace } // namespace
} // namespace } // namespace
Q_DECLARE_INTERFACE(BlackMisc::Simulation::IOwnAircraftProvider, "BlackMisc::Simulation::IOwnAircraftProvider")
#endif // guard #endif // guard

View File

@@ -88,9 +88,9 @@ namespace BlackMisc
return true; return true;
} }
bool COwnAircraftProviderDummy::updateOwnIcaoData(const CAircraftIcaoData &icaoData) bool COwnAircraftProviderDummy::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode)
{ {
m_ownAircraft.setIcaoInfo(icaoData); m_ownAircraft.setIcaoCodes(aircraftIcaoCode, airlineIcaoCode);
return true; return true;
} }

View File

@@ -64,8 +64,8 @@ namespace BlackMisc
//! \copydoc IOwnAircraftProvider::updateOwnModel //! \copydoc IOwnAircraftProvider::updateOwnModel
virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model) override; virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model) override;
//! \copydoc IOwnAircraftProvider::updateOwnIcaoData //! \copydoc IOwnAircraftProvider::updateOwnIcaoCodes
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) override; virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) override;
//! \copydoc IOwnAircraftProvider::updateOwnSituation //! \copydoc IOwnAircraftProvider::updateOwnSituation
virtual bool updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override; virtual bool updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;

View File

@@ -34,6 +34,12 @@ namespace BlackMisc
return this->m_remoteAircraftProvider->getAircraftInRangeForCallsign(callsign); return this->m_remoteAircraftProvider->getAircraftInRangeForCallsign(callsign);
} }
CAircraftModel CRemoteAircraftAware::getAircraftinRangeModelForCallsign(const CCallsign &callsign) const
{
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
return this->m_remoteAircraftProvider->getAircraftInRangeModelForCallsign(callsign);
}
CAirspaceAircraftSnapshot CRemoteAircraftAware::getLatestAirspaceAircraftSnapshot() const CAirspaceAircraftSnapshot CRemoteAircraftAware::getLatestAirspaceAircraftSnapshot() const
{ {
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available"); Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");

View File

@@ -57,6 +57,10 @@ namespace BlackMisc
//! \threadsafe //! \threadsafe
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const = 0; virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Aircraft model for callsign
//! \threadsafe
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
//! Rendered aircraft situations (per callsign, time history) //! Rendered aircraft situations (per callsign, time history)
//! \threadsafe //! \threadsafe
virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const = 0; virtual BlackMisc::Aviation::CAircraftSituationList remoteAircraftSituations(const BlackMisc::Aviation::CCallsign &callsign) const = 0;
@@ -102,7 +106,7 @@ namespace BlackMisc
//! Connect signals to slot receiver. As the interface is no QObject, slots can not be connected directly. //! Connect signals to slot receiver. As the interface is no QObject, slots can not be connected directly.
//! In order to disconnect a list of connections is provided, which have to be disconnected manually. //! In order to disconnect a list of connections is provided, which have to be disconnected manually.
//! \note connections are direct as functors have no parameter for connection type //! \note receiver is required for connection type
virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals( virtual QList<QMetaObject::Connection> connectRemoteAircraftProviderSignals(
QObject *receiver, QObject *receiver,
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot, std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
@@ -126,6 +130,9 @@ namespace BlackMisc
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign //! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const; virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const Aviation::CCallsign &callsign) const;
//! \copydoc IRemoteAircraftProvider::getAircraftinRangeModelForCallsign
virtual BlackMisc::Simulation::CAircraftModel getAircraftinRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
//! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot //! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const; virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
@@ -168,6 +175,6 @@ namespace BlackMisc
} // namespace } // namespace
} // namespace } // namespace
Q_DECLARE_INTERFACE(BlackMisc::Simulation::IRemoteAircraftProvider, "BlackMisc::Simulation::IRemoteAircraftProvider:IRemoteAircraftProvider") Q_DECLARE_INTERFACE(BlackMisc::Simulation::IRemoteAircraftProvider, "BlackMisc::Simulation::IRemoteAircraftProvider")
#endif // guard #endif // guard

View File

@@ -34,6 +34,11 @@ namespace BlackMisc
return m_aircraft.findFirstByCallsign(callsign); return m_aircraft.findFirstByCallsign(callsign);
} }
CAircraftModel CRemoteAircraftProviderDummy::getAircraftInRangeModelForCallsign(const CCallsign &callsign) const
{
return getAircraftInRangeForCallsign(callsign).getModel();
}
CAirspaceAircraftSnapshot CRemoteAircraftProviderDummy::getLatestAirspaceAircraftSnapshot() const CAirspaceAircraftSnapshot CRemoteAircraftProviderDummy::getLatestAirspaceAircraftSnapshot() const
{ {
return CAirspaceAircraftSnapshot(m_aircraft); return CAirspaceAircraftSnapshot(m_aircraft);

View File

@@ -41,6 +41,9 @@ namespace BlackMisc
//! IRemoteAircraftProvider::getAircraftInRangeForCallsign //! IRemoteAircraftProvider::getAircraftInRangeForCallsign
virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override; virtual BlackMisc::Simulation::CSimulatedAircraft getAircraftInRangeForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! IRemoteAircraftProvider::getAircraftInRangeModelForCallsign
virtual BlackMisc::Simulation::CAircraftModel getAircraftInRangeModelForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override;
//! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot //! \copydoc IRemoteAircraftProvider::getLatestAirspaceAircraftSnapshot
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override; virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;