diff --git a/src/blackcore/context/contextownaircraft.h b/src/blackcore/context/contextownaircraft.h index 3ad87a82d..11a465602 100644 --- a/src/blackcore/context/contextownaircraft.h +++ b/src/blackcore/context/contextownaircraft.h @@ -118,6 +118,12 @@ namespace BlackCore //! Get own aircraft virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const = 0; + //! Get own COM system + virtual BlackMisc::Aviation::CComSystem getOwnComSystem(BlackMisc::Aviation::CComSystem::ComUnit unit) const = 0; + + //! Get own transponder + virtual BlackMisc::Aviation::CTransponder getOwnTransponder() const = 0; + //! Get own aircraft virtual BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const = 0; @@ -128,6 +134,9 @@ namespace BlackCore //! Update own cockpit virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator) = 0; + //! Update own transponder mode + virtual bool updateTransponderMode(const BlackMisc::Aviation::CTransponder::TransponderMode &transponderMode, const BlackMisc::CIdentifier &originator) = 0; + //! Toggle XPDR mode virtual void toggleTransponderMode() = 0; diff --git a/src/blackcore/context/contextownaircraftempty.h b/src/blackcore/context/contextownaircraftempty.h index 0f0cae0a6..01253f722 100644 --- a/src/blackcore/context/contextownaircraftempty.h +++ b/src/blackcore/context/contextownaircraftempty.h @@ -37,6 +37,21 @@ namespace BlackCore return BlackMisc::Simulation::CSimulatedAircraft(); } + //! \copydoc IContextOwnAircraft::getOwnComSystem + virtual BlackMisc::Aviation::CComSystem getOwnComSystem(BlackMisc::Aviation::CComSystem::ComUnit unit) const override + { + Q_UNUSED((unit);) + logEmptyContextWarning(Q_FUNC_INFO); + return BlackMisc::Aviation::CComSystem(); + } + + //! \copydoc IContextOwnAircraft::getOwnTransponder() + virtual BlackMisc::Aviation::CTransponder getOwnTransponder() const override + { + logEmptyContextWarning(Q_FUNC_INFO); + return BlackMisc::Aviation::CTransponder(); + } + //! \copydoc IContextOwnAircraft::getOwnAircraftSituation() virtual BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const override { @@ -65,6 +80,15 @@ namespace BlackCore return false; } + //! \copydoc IContextOwnAircraft::updateTransponderMode + virtual bool updateTransponderMode(const BlackMisc::Aviation::CTransponder::TransponderMode &transponderMode, const BlackMisc::CIdentifier &originator) override + { + Q_UNUSED(transponderMode); + Q_UNUSED(originator); + logEmptyContextWarning(Q_FUNC_INFO); + return false; + } + //! \copydoc IContextOwnAircraft::updateActiveComFrequency virtual bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator) override { diff --git a/src/blackcore/context/contextownaircraftimpl.cpp b/src/blackcore/context/contextownaircraftimpl.cpp index bcc2c16f8..c03d37c5a 100644 --- a/src/blackcore/context/contextownaircraftimpl.cpp +++ b/src/blackcore/context/contextownaircraftimpl.cpp @@ -96,6 +96,20 @@ namespace BlackCore return m_ownAircraft; } + CComSystem CContextOwnAircraft::getOwnComSystem(CComSystem::ComUnit unit) const + { + if (m_debugEnabled) {CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + QReadLocker l(&m_lockAircraft); + return m_ownAircraft.getComSystem(unit); + } + + CTransponder CContextOwnAircraft::getOwnTransponder() const + { + if (m_debugEnabled) {CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; } + QReadLocker l(&m_lockAircraft); + return m_ownAircraft.getTransponder(); + } + CCoordinateGeodetic CContextOwnAircraft::getOwnAircraftPosition() const { QReadLocker l(&m_lockAircraft); @@ -300,6 +314,21 @@ namespace BlackCore return changed; } + bool CContextOwnAircraft::updateTransponderMode(const CTransponder::TransponderMode &transponderMode, const CIdentifier &originator) + { + if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << transponderMode; } + bool changed; + { + QWriteLocker l(&m_lockAircraft); + changed = m_ownAircraft.setTransponderMode(transponderMode); + } + if (changed) + { + emit this->changedAircraftCockpit(m_ownAircraft, originator); + } + return changed; + } + bool CContextOwnAircraft::updateActiveComFrequency(const CFrequency &frequency, CComSystem::ComUnit unit, const CIdentifier &originator) { if (unit != CComSystem::Com1 && unit != CComSystem::Com2) { return false; } @@ -351,17 +380,7 @@ namespace BlackCore bool CContextOwnAircraft::setTransponderMode(CTransponder::TransponderMode mode) { - CTransponder xpdr; - CComSystem com1; - CComSystem com2; - { - QReadLocker l(&m_lockAircraft); - com1 = m_ownAircraft.getCom1System(); - com2 = m_ownAircraft.getCom2System(); - xpdr = m_ownAircraft.getTransponder(); - } - xpdr.setTransponderMode(mode); - return this->updateCockpit(com1, com2, xpdr, this->identifier()); + return this->updateTransponderMode(mode, this->identifier()); } bool CContextOwnAircraft::updateOwnCallsign(const CCallsign &callsign) @@ -435,6 +454,19 @@ namespace BlackCore } } + void CContextOwnAircraft::actionToggleTransponder(bool keydown) + { + if (!keydown) { return; } + this->toggleTransponderMode(); + } + + void CContextOwnAircraft::actionIdent(bool keydown) + { + if (this->getOwnTransponder().isInStandby()) { return; } + const CTransponder::TransponderMode m = keydown ? CTransponder::StateIdent : CTransponder::ModeC; + this->updateTransponderMode(m, this->identifier()); + } + void CContextOwnAircraft::allSwiftWebDataRead() { // we should already have received a reverse lookup model diff --git a/src/blackcore/context/contextownaircraftimpl.h b/src/blackcore/context/contextownaircraftimpl.h index 3fab4a0ca..10d3b15ff 100644 --- a/src/blackcore/context/contextownaircraftimpl.h +++ b/src/blackcore/context/contextownaircraftimpl.h @@ -16,6 +16,7 @@ #include "blackcore/context/contextownaircraft.h" #include "blackcore/corefacadeconfig.h" #include "blackcore/vatsim/vatsimsettings.h" +#include "blackcore/actionbind.h" #include "blackmisc/network/settings/serversettings.h" #include "blackmisc/network/user.h" #include "blackmisc/simulation/aircraftmodel.h" @@ -30,6 +31,7 @@ #include "blackmisc/geo/coordinategeodetic.h" #include "blackmisc/pq/frequency.h" #include "blackmisc/pq/length.h" +#include "blackmisc/icons.h" #include "blackmisc/settingscache.h" #include "blackmisc/identifiable.h" #include "blackmisc/identifier.h" @@ -114,6 +116,14 @@ namespace BlackCore //! \ingroup ownaircraftprovider virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const override; + //! \copydoc IContextOwnAircraft::getOwnComSystem + //! \ingroup ownaircraftprovider + virtual BlackMisc::Aviation::CComSystem getOwnComSystem(BlackMisc::Aviation::CComSystem::ComUnit unit) const override; + + //! \copydoc IContextOwnAircraft::getOwnTransponder() + //! \ingroup ownaircraftprovider + virtual BlackMisc::Aviation::CTransponder getOwnTransponder() const override; + //! \copydoc IContextOwnAircraft::getOwnAircraftSituation() //! \ingroup ownaircraftprovider virtual BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const override; @@ -132,6 +142,9 @@ namespace BlackCore //! \copydoc IContextOwnAircraft::updateCockpit virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator) override; + //! \copydoc IContextOwnAircraft::updateTransponderMode + virtual bool updateTransponderMode(const BlackMisc::Aviation::CTransponder::TransponderMode &transponderMode, const BlackMisc::CIdentifier &originator) override; + //! \copydoc IContextOwnAircraft::updateSelcal virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) override; @@ -194,6 +207,9 @@ namespace BlackCore QString m_voiceRoom2UrlOverride; //!< overridden voice room url mutable QReadWriteLock m_lockAircraft; //!< lock aircraft + CActionBind m_actionToggleXpdr { "/Own aircraft/Toggle XPDR state", BlackMisc::CIcons::radio16(), this, &CContextOwnAircraft::actionToggleTransponder }; + CActionBind m_actionIdent { "/Own aircraft/XPDR ident", BlackMisc::CIcons::radio16(), this, &CContextOwnAircraft::actionIdent }; + static constexpr qint64 MinHistoryDeltaMs = 1000; static constexpr int MaxHistoryElements = 20; QTimer m_historyTimer; //!< history timer @@ -214,6 +230,11 @@ namespace BlackCore //! \ingroup crosscontextfunction void xCtxChangedSimulatorStatus(int status); + //! Actions @{ + void actionToggleTransponder(bool keydown); + void actionIdent(bool keydown); + //! @} + //! Web data loaded void allSwiftWebDataRead(); diff --git a/src/blackcore/context/contextownaircraftproxy.cpp b/src/blackcore/context/contextownaircraftproxy.cpp index 775b828ee..bcde2d159 100644 --- a/src/blackcore/context/contextownaircraftproxy.cpp +++ b/src/blackcore/context/contextownaircraftproxy.cpp @@ -28,7 +28,7 @@ namespace BlackCore { CContextOwnAircraftProxy::CContextOwnAircraftProxy(const QString &serviceName, QDBusConnection &connection, CCoreFacadeConfig::ContextMode mode, CCoreFacade *runtime) : IContextOwnAircraft(mode, runtime), m_dBusInterface(nullptr) { - this->m_dBusInterface = new BlackMisc::CGenericDBusInterface( + m_dBusInterface = new BlackMisc::CGenericDBusInterface( serviceName, IContextOwnAircraft::ObjectPath(), IContextOwnAircraft::InterfaceName(), connection, this); this->relaySignals(serviceName, connection); @@ -78,77 +78,92 @@ namespace BlackCore BlackMisc::Simulation::CSimulatedAircraft CContextOwnAircraftProxy::getOwnAircraft() const { - return this->m_dBusInterface->callDBusRet(QLatin1String("getOwnAircraft")); + return m_dBusInterface->callDBusRet(QLatin1String("getOwnAircraft")); + } + + CComSystem CContextOwnAircraftProxy::getOwnComSystem(CComSystem::ComUnit unit) const + { + return m_dBusInterface->callDBusRet(QLatin1String("getOwnComSystem"), unit); + } + + CTransponder CContextOwnAircraftProxy::getOwnTransponder() const + { + return m_dBusInterface->callDBusRet(QLatin1String("getOwnTransponder")); } CAircraftSituation CContextOwnAircraftProxy::getOwnAircraftSituation() const { - return this->m_dBusInterface->callDBusRet(QLatin1String("getOwnAircraftSituation")); + return m_dBusInterface->callDBusRet(QLatin1String("getOwnAircraftSituation")); } bool CContextOwnAircraftProxy::updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const CIdentifier &originator) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateCockpit"), com1, com2, transponder, originator); + return m_dBusInterface->callDBusRet(QLatin1String("updateCockpit"), com1, com2, transponder, originator); + } + + bool CContextOwnAircraftProxy::updateTransponderMode(const CTransponder::TransponderMode &transponderMode, const CIdentifier &originator) + { + return m_dBusInterface->callDBusRet(QLatin1String("updateCockpit"), transponderMode, originator); } bool CContextOwnAircraftProxy::updateActiveComFrequency(const PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const CIdentifier &originator) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateActiveComFrequency"), frequency, comUnit, originator); + return m_dBusInterface->callDBusRet(QLatin1String("updateActiveComFrequency"), frequency, comUnit, originator); } bool CContextOwnAircraftProxy::updateOwnAircraftPilot(const BlackMisc::Network::CUser &pilot) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateOwnAircraftPilot"), pilot); + return m_dBusInterface->callDBusRet(QLatin1String("updateOwnAircraftPilot"), pilot); } bool CContextOwnAircraftProxy::updateSelcal(const CSelcal &selcal, const CIdentifier &originator) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateSelcal"), selcal, originator); + return m_dBusInterface->callDBusRet(QLatin1String("updateSelcal"), selcal, originator); } bool CContextOwnAircraftProxy::updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude, const CAltitude &pressureAltitude) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateOwnPosition"), position, altitude, pressureAltitude); + return m_dBusInterface->callDBusRet(QLatin1String("updateOwnPosition"), position, altitude, pressureAltitude); } bool CContextOwnAircraftProxy::updateOwnCallsign(const CCallsign &callsign) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateOwnCallsign"), callsign); + return m_dBusInterface->callDBusRet(QLatin1String("updateOwnCallsign"), callsign); } bool CContextOwnAircraftProxy::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode) { - return this->m_dBusInterface->callDBusRet(QLatin1String("updateOwnIcaoCodes"), aircraftIcaoCode, airlineIcaoCode); + return m_dBusInterface->callDBusRet(QLatin1String("updateOwnIcaoCodes"), aircraftIcaoCode, airlineIcaoCode); } void CContextOwnAircraftProxy::setAudioOutputVolume(int outputVolume) { - this->m_dBusInterface->callDBus(QLatin1String("setAudioOutputVolume"), outputVolume); + m_dBusInterface->callDBus(QLatin1String("setAudioOutputVolume"), outputVolume); } void CContextOwnAircraftProxy::setAudioVoiceRoomOverrideUrls(const QString &voiceRoom1Url, const QString &voiceRoom2Url) { - this->m_dBusInterface->callDBus(QLatin1String("setAudioVoiceRoomOverrideUrls"), voiceRoom1Url, voiceRoom2Url); + m_dBusInterface->callDBus(QLatin1String("setAudioVoiceRoomOverrideUrls"), voiceRoom1Url, voiceRoom2Url); } void CContextOwnAircraftProxy::enableAutomaticVoiceRoomResolution(bool enable) { - this->m_dBusInterface->callDBus(QLatin1String("enableAutomaticVoiceRoomResolution"), enable); + m_dBusInterface->callDBus(QLatin1String("enableAutomaticVoiceRoomResolution"), enable); } void CContextOwnAircraftProxy::toggleTransponderMode() { - this->m_dBusInterface->callDBus(QLatin1String("toggleTransponderMode")); + m_dBusInterface->callDBus(QLatin1String("toggleTransponderMode")); } bool CContextOwnAircraftProxy::setTransponderMode(CTransponder::TransponderMode mode) { - return this->m_dBusInterface->callDBusRet(QLatin1String("setTransponderMode"), mode); + return m_dBusInterface->callDBusRet(QLatin1String("setTransponderMode"), mode); } bool CContextOwnAircraftProxy::parseCommandLine(const QString &commandLine, const CIdentifier &originator) { - return this->m_dBusInterface->callDBusRet(QLatin1String("parseCommandLine"), commandLine, originator); + return m_dBusInterface->callDBusRet(QLatin1String("parseCommandLine"), commandLine, originator); } } // namespace } // namespace diff --git a/src/blackcore/context/contextownaircraftproxy.h b/src/blackcore/context/contextownaircraftproxy.h index fa232f214..3ca6ee2f5 100644 --- a/src/blackcore/context/contextownaircraftproxy.h +++ b/src/blackcore/context/contextownaircraftproxy.h @@ -64,9 +64,12 @@ namespace BlackCore //! \publicsection //! @{ virtual BlackMisc::Simulation::CSimulatedAircraft getOwnAircraft() const override; + virtual BlackMisc::Aviation::CComSystem getOwnComSystem(BlackMisc::Aviation::CComSystem::ComUnit unit) const override; + virtual BlackMisc::Aviation::CTransponder getOwnTransponder() const override; virtual BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const override; virtual bool updateOwnPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude, const BlackMisc::Aviation::CAltitude &pressureAltitude) override; virtual bool updateCockpit(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, const BlackMisc::Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator) override; + virtual bool updateTransponderMode(const BlackMisc::Aviation::CTransponder::TransponderMode &transponderMode, const BlackMisc::CIdentifier &originator) override; virtual bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator) override; virtual bool updateOwnAircraftPilot(const BlackMisc::Network::CUser &pilot) override; virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) override; diff --git a/src/blackmisc/simulation/ownaircraftprovider.h b/src/blackmisc/simulation/ownaircraftprovider.h index db44d7143..343014c33 100644 --- a/src/blackmisc/simulation/ownaircraftprovider.h +++ b/src/blackmisc/simulation/ownaircraftprovider.h @@ -35,7 +35,6 @@ namespace BlackMisc class CAircraftIcaoCode; class CAircraftSituation; class CCallsign; - class CTransponder; } namespace Simulation @@ -48,17 +47,25 @@ namespace BlackMisc //! \threadsafe virtual CSimulatedAircraft getOwnAircraft() const = 0; + //! Own aircraft COM unit + //! \threadsafe + virtual Aviation::CComSystem getOwnComSystem(Aviation::CComSystem::ComUnit unit) const = 0; + + //! Own aircraft XPDR + //! \threadsafe + virtual Aviation::CTransponder getOwnTransponder() const = 0; + //! Own aircraft's position //! \threadsafe - virtual BlackMisc::Geo::CCoordinateGeodetic getOwnAircraftPosition() const = 0; + virtual Geo::CCoordinateGeodetic getOwnAircraftPosition() const = 0; //! Own aircraft's situation //! \threadsafe - virtual BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const = 0; + virtual Aviation::CAircraftSituation getOwnAircraftSituation() const = 0; //! Own aircraft's parts //! \threadsafe - virtual BlackMisc::Aviation::CAircraftParts getOwnAircraftParts() const = 0; + virtual Aviation::CAircraftParts getOwnAircraftParts() const = 0; //! Own aircraft model //! \threadsafe @@ -70,21 +77,21 @@ namespace BlackMisc //! Update aircraft's callsign //! \threadsafe - virtual bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign) = 0; + virtual bool updateOwnCallsign(const Aviation::CCallsign &callsign) = 0; //! Update ICAO data //! \threadsafe - virtual bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoCode, const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcaoCode) = 0; + virtual bool updateOwnIcaoCodes(const Aviation::CAircraftIcaoCode &aircraftIcaoCode, const Aviation::CAirlineIcaoCode &airlineIcaoCode) = 0; //! Update model //! \threadsafe virtual bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model) = 0; //! Update own situation - virtual bool updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation) = 0; + virtual bool updateOwnSituation(const Aviation::CAircraftSituation &situation) = 0; //! Update own parts - virtual bool updateOwnParts(const BlackMisc::Aviation::CAircraftParts &parts) = 0; + virtual bool updateOwnParts(const Aviation::CAircraftParts &parts) = 0; // ------------------------------------------------------------------------ // cockpit / aircraft related updates, which can come from multiple sources @@ -97,15 +104,15 @@ namespace BlackMisc //! 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; + virtual bool updateCockpit(const Aviation::CComSystem &com1, const Aviation::CComSystem &com2, const Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator) = 0; //! 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; + virtual bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator) = 0; //! Update cockpit, but only send signals when applicable //! \threadsafe - virtual bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) = 0; + virtual bool updateSelcal(const Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator) = 0; }; //! Delegating class which can be directly used to access an \sa IOwnAircraftProvider instance @@ -124,10 +131,10 @@ namespace BlackMisc BlackMisc::Geo::CCoordinateGeodetic getOwnAircraftPosition() const; //! \copydoc IOwnAircraftProvider::getOwnAircraftPosition - BlackMisc::Aviation::CAircraftSituation getOwnAircraftSituation() const; + Aviation::CAircraftSituation getOwnAircraftSituation() const; //! \copydoc IOwnAircraftProvider::getOwnAircraftParts - BlackMisc::Aviation::CAircraftParts getOwnAircraftParts() const; + Aviation::CAircraftParts getOwnAircraftParts() const; //! \copydoc IOwnAircraftProvider::getOwnAircraftModel BlackMisc::Simulation::CAircraftModel getOwnAircraftModel() const; @@ -138,29 +145,29 @@ namespace BlackMisc //! \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::updateCockpit(const Aviation::CComSystem &, const Aviation::CComSystem &, const Aviation::CTransponder &, const BlackMisc::CIdentifier &); + bool updateCockpit(const Aviation::CComSystem &com1, const Aviation::CComSystem &com2, const Aviation::CTransponder &transponder, const BlackMisc::CIdentifier &originator); //! \copydoc IOwnAircraftProvider::updateActiveComFrequency - bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator); + bool updateActiveComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, Aviation::CComSystem::ComUnit comUnit, const BlackMisc::CIdentifier &originator); //! \copydoc IOwnAircraftProvider::updateSelcal - bool updateSelcal(const BlackMisc::Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator); + bool updateSelcal(const Aviation::CSelcal &selcal, const BlackMisc::CIdentifier &originator); //! \copydoc IOwnAircraftProvider::updateOwnCallsign - bool updateOwnCallsign(const BlackMisc::Aviation::CCallsign &callsign); + bool updateOwnCallsign(const Aviation::CCallsign &callsign); //! \copydoc IOwnAircraftProvider::updateOwnIcaoCodes - bool updateOwnIcaoCodes(const BlackMisc::Aviation::CAircraftIcaoCode &aircraftIcaoData, const Aviation::CAirlineIcaoCode &airlineIcaoCode); + bool updateOwnIcaoCodes(const Aviation::CAircraftIcaoCode &aircraftIcaoData, const Aviation::CAirlineIcaoCode &airlineIcaoCode); //! \copydoc IOwnAircraftProvider::updateOwnModel bool updateOwnModel(const BlackMisc::Simulation::CAircraftModel &model); //! \copydoc IOwnAircraftProvider::updateOwnSituation - bool updateOwnSituation(const BlackMisc::Aviation::CAircraftSituation &situation); + bool updateOwnSituation(const Aviation::CAircraftSituation &situation); //! \copydoc IOwnAircraftProvider::updateOwnParts - bool updateOwnParts(const BlackMisc::Aviation::CAircraftParts &parts); + bool updateOwnParts(const Aviation::CAircraftParts &parts); protected: //! Constructor diff --git a/src/blackmisc/simulation/ownaircraftproviderdummy.cpp b/src/blackmisc/simulation/ownaircraftproviderdummy.cpp index 657314cf3..e260901b2 100644 --- a/src/blackmisc/simulation/ownaircraftproviderdummy.cpp +++ b/src/blackmisc/simulation/ownaircraftproviderdummy.cpp @@ -20,7 +20,19 @@ namespace BlackMisc CSimulatedAircraft COwnAircraftProviderDummy::getOwnAircraft() const { QReadLocker l(&m_lock); - return this->m_ownAircraft; + return m_ownAircraft; + } + + CComSystem COwnAircraftProviderDummy::getOwnComSystem(CComSystem::ComUnit unit) const + { + QReadLocker l(&m_lock); + return m_ownAircraft.getComSystem(unit); + } + + CTransponder COwnAircraftProviderDummy::getOwnTransponder() const + { + QReadLocker l(&m_lock); + return m_ownAircraft.getTransponder(); } Geo::CCoordinateGeodetic COwnAircraftProviderDummy::getOwnAircraftPosition() const diff --git a/src/blackmisc/simulation/ownaircraftproviderdummy.h b/src/blackmisc/simulation/ownaircraftproviderdummy.h index 0be1bc85e..8a94608e6 100644 --- a/src/blackmisc/simulation/ownaircraftproviderdummy.h +++ b/src/blackmisc/simulation/ownaircraftproviderdummy.h @@ -57,6 +57,12 @@ namespace BlackMisc //! \copydoc IOwnAircraftProvider::getOwnAircraft virtual CSimulatedAircraft getOwnAircraft() const override; + //! \copydoc IOwnAircraftProvider::getOwnComSystem + virtual Aviation::CComSystem getOwnComSystem(Aviation::CComSystem::ComUnit unit) const override; + + //! \copydoc IOwnAircraftProvider::getOwnTransponder + virtual Aviation::CTransponder getOwnTransponder() const override; + //! \copydoc IOwnAircraftProvider::getOwnAircraftPosition virtual BlackMisc::Geo::CCoordinateGeodetic getOwnAircraftPosition() const override;