diff --git a/src/blackmisc/simulation/ownaircraftprovider.cpp b/src/blackmisc/simulation/ownaircraftprovider.cpp index 5a90a7b76..1ef081b8c 100644 --- a/src/blackmisc/simulation/ownaircraftprovider.cpp +++ b/src/blackmisc/simulation/ownaircraftprovider.cpp @@ -17,6 +17,13 @@ namespace BlackMisc { namespace Simulation { + bool IOwnAircraftProvider::updateCockpit(const CSimulatedAircraft &aircraft, const CIdentifier &originator) + { + const bool changed1 = this->updateCockpit(aircraft.getCom1System(), aircraft.getCom2System(), aircraft.getTransponder(), originator); + const bool changed2 = this->updateSelcal(aircraft.getSelcal(), originator); + return changed1 || changed2; + } + CSimulatedAircraft COwnAircraftAware::getOwnAircraft() const { Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); @@ -53,6 +60,12 @@ namespace BlackMisc return this->m_ownAircraftProvider->getDistanceToOwnAircraft(position); } + bool COwnAircraftAware::updateCockpit(const CSimulatedAircraft &aircraft, const CIdentifier &originator) + { + Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); + return this->m_ownAircraftProvider->updateCockpit(aircraft, originator); + } + bool COwnAircraftAware::updateCockpit(const CComSystem &com1, const CComSystem &com2, const CTransponder &transponder, const CIdentifier &originator) { Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); @@ -100,6 +113,5 @@ namespace BlackMisc Q_ASSERT_X(this->m_ownAircraftProvider, Q_FUNC_INFO, "No object available"); return this->m_ownAircraftProvider->updateOwnIcaoCodes(aircraftIcaoData, airlineIcaoCode); } - } // namespace } // namespace diff --git a/src/blackmisc/simulation/ownaircraftprovider.h b/src/blackmisc/simulation/ownaircraftprovider.h index 3ee95f49f..a3abccaa4 100644 --- a/src/blackmisc/simulation/ownaircraftprovider.h +++ b/src/blackmisc/simulation/ownaircraftprovider.h @@ -91,15 +91,19 @@ namespace BlackMisc // and are subject of roundtrips -> originator // ------------------------------------------------------------------------ - //! Update cockpit, but send signals when applicable + //! Update cockpit, but only send signals when applicable + //! \threadsafe + bool updateCockpit(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator); + + //! Update cockpit, but only send signals when applicable //! \threadsafe virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator) = 0; - //! Update cockpit, but send signals when applicable + //! Update cockpit, but only send signals when applicable //! \threadsafe virtual bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator) = 0; - //! Update cockpit, but send signals when applicable + //! Update cockpit, but only send signals when applicable //! \threadsafe virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) = 0; }; @@ -126,7 +130,10 @@ namespace BlackMisc //! \copydoc IOwnAircraftProvider::getDistanceToOwnAircraft BlackMisc::PhysicalQuantities::CLength getDistanceToOwnAircraft(const BlackMisc::Geo::ICoordinateGeodetic &position) const; - //! \copydoc IOwnAircraftProvider::updateCockpit + //! \copydoc IOwnAircraftProvider::updateCockpit(const BlackMisc::Simulation::CSimulatedAircraft &, const BlackMisc::CIdentifier &) + bool updateCockpit(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const BlackMisc::CIdentifier &originator); + + //! \copydoc IOwnAircraftProvider::updateCockpit(const BlackMisc::Aviation::CComSystem &, const BlackMisc::Aviation::CComSystem &, const BlackMisc::Aviation::CTransponder &, const BlackMisc::CIdentifier &); bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator); //! \copydoc IOwnAircraftProvider::updateActiveComFrequency