mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 20:15:35 +08:00
refs #452, updated aircraft providers
* to update own Aircraft/Airline ICAO codes signature * get aircraft in range for callsign
This commit is contained in:
committed by
Mathew Sutcliffe
parent
8dba22f7f0
commit
dbcc540313
@@ -8,9 +8,9 @@
|
||||
*/
|
||||
|
||||
#include "ownaircraftprovider.h"
|
||||
#include "blackmisc/aviation/aircraft.h"
|
||||
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Geo;
|
||||
using namespace BlackMisc::PhysicalQuantities;
|
||||
|
||||
namespace BlackMisc
|
||||
@@ -24,7 +24,7 @@ namespace BlackMisc
|
||||
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");
|
||||
return this->m_ownAircraftProvider->getOwnAircraftPosition();
|
||||
@@ -90,10 +90,10 @@ namespace BlackMisc
|
||||
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");
|
||||
return this->m_ownAircraftProvider->updateOwnIcaoData(icaoData);
|
||||
return this->m_ownAircraftProvider->updateOwnIcaoCodes(aircraftIcaoData, airlineIcaoCode);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -20,7 +20,6 @@ namespace BlackMisc
|
||||
{
|
||||
namespace Simulation
|
||||
{
|
||||
|
||||
//! Direct threadsafe in memory access to own aircraft
|
||||
class BLACKMISC_EXPORT IOwnAircraftProvider
|
||||
{
|
||||
@@ -52,7 +51,7 @@ namespace BlackMisc
|
||||
|
||||
//! Update ICAO data
|
||||
//! \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
|
||||
//! \threadsafe
|
||||
@@ -114,8 +113,8 @@ namespace BlackMisc
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnCallsign
|
||||
virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnIcaoData
|
||||
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData);
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnIcaoCodes
|
||||
virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoData, const Aviation::CAirlineIcaoCode &airlineIcaoCode);
|
||||
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnModel
|
||||
virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model);
|
||||
@@ -135,4 +134,6 @@ namespace BlackMisc
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Q_DECLARE_INTERFACE(BlackMisc::Simulation::IOwnAircraftProvider, "BlackMisc::Simulation::IOwnAircraftProvider")
|
||||
|
||||
#endif // guard
|
||||
|
||||
@@ -88,9 +88,9 @@ namespace BlackMisc
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ namespace BlackMisc
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnModel
|
||||
virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model) override;
|
||||
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnIcaoData
|
||||
virtual bool updateOwnIcaoData(const BlackMisc::Aviation::CAircraftIcaoData &icaoData) override;
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnIcaoCodes
|
||||
virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) override;
|
||||
|
||||
//! \copydoc IOwnAircraftProvider::updateOwnSituation
|
||||
virtual bool updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
|
||||
|
||||
@@ -34,6 +34,12 @@ namespace BlackMisc
|
||||
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
|
||||
{
|
||||
Q_ASSERT_X(this->m_remoteAircraftProvider, Q_FUNC_INFO, "No object available");
|
||||
|
||||
@@ -57,6 +57,10 @@ namespace BlackMisc
|
||||
//! \threadsafe
|
||||
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)
|
||||
//! \threadsafe
|
||||
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.
|
||||
//! 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(
|
||||
QObject *receiver,
|
||||
std::function<void(const BlackMisc::Aviation::CAircraftSituation &)> addedSituationSlot,
|
||||
@@ -126,6 +130,9 @@ namespace BlackMisc
|
||||
//! \copydoc IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
||||
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
|
||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const;
|
||||
|
||||
@@ -168,6 +175,6 @@ namespace BlackMisc
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Q_DECLARE_INTERFACE(BlackMisc::Simulation::IRemoteAircraftProvider, "BlackMisc::Simulation::IRemoteAircraftProvider:IRemoteAircraftProvider")
|
||||
Q_DECLARE_INTERFACE(BlackMisc::Simulation::IRemoteAircraftProvider, "BlackMisc::Simulation::IRemoteAircraftProvider")
|
||||
|
||||
#endif // guard
|
||||
|
||||
@@ -34,6 +34,11 @@ namespace BlackMisc
|
||||
return m_aircraft.findFirstByCallsign(callsign);
|
||||
}
|
||||
|
||||
CAircraftModel CRemoteAircraftProviderDummy::getAircraftInRangeModelForCallsign(const CCallsign &callsign) const
|
||||
{
|
||||
return getAircraftInRangeForCallsign(callsign).getModel();
|
||||
}
|
||||
|
||||
CAirspaceAircraftSnapshot CRemoteAircraftProviderDummy::getLatestAirspaceAircraftSnapshot() const
|
||||
{
|
||||
return CAirspaceAircraftSnapshot(m_aircraft);
|
||||
|
||||
@@ -41,6 +41,9 @@ namespace BlackMisc
|
||||
//! IRemoteAircraftProvider::getAircraftInRangeForCallsign
|
||||
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
|
||||
virtual BlackMisc::Simulation::CAirspaceAircraftSnapshot getLatestAirspaceAircraftSnapshot() const override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user