Ref T422, context/provider functions for COM, XPDR values

This commit is contained in:
Klaus Basan
2018-11-04 17:32:08 +01:00
parent 67dcd11e73
commit 084ade9e2b
9 changed files with 178 additions and 49 deletions

View File

@@ -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;

View File

@@ -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
{

View File

@@ -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

View File

@@ -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();

View File

@@ -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<BlackMisc::Simulation::CSimulatedAircraft>(QLatin1String("getOwnAircraft"));
return m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatedAircraft>(QLatin1String("getOwnAircraft"));
}
CComSystem CContextOwnAircraftProxy::getOwnComSystem(CComSystem::ComUnit unit) const
{
return m_dBusInterface->callDBusRet<BlackMisc::Aviation::CComSystem>(QLatin1String("getOwnComSystem"), unit);
}
CTransponder CContextOwnAircraftProxy::getOwnTransponder() const
{
return m_dBusInterface->callDBusRet<BlackMisc::Aviation::CTransponder>(QLatin1String("getOwnTransponder"));
}
CAircraftSituation CContextOwnAircraftProxy::getOwnAircraftSituation() const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Aviation::CAircraftSituation>(QLatin1String("getOwnAircraftSituation"));
return m_dBusInterface->callDBusRet<BlackMisc::Aviation::CAircraftSituation>(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<bool>(QLatin1String("updateCockpit"), com1, com2, transponder, originator);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateCockpit"), com1, com2, transponder, originator);
}
bool CContextOwnAircraftProxy::updateTransponderMode(const CTransponder::TransponderMode &transponderMode, const CIdentifier &originator)
{
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateCockpit"), transponderMode, originator);
}
bool CContextOwnAircraftProxy::updateActiveComFrequency(const PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit comUnit, const CIdentifier &originator)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("updateActiveComFrequency"), frequency, comUnit, originator);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateActiveComFrequency"), frequency, comUnit, originator);
}
bool CContextOwnAircraftProxy::updateOwnAircraftPilot(const BlackMisc::Network::CUser &pilot)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnAircraftPilot"), pilot);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnAircraftPilot"), pilot);
}
bool CContextOwnAircraftProxy::updateSelcal(const CSelcal &selcal, const CIdentifier &originator)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("updateSelcal"), selcal, originator);
return m_dBusInterface->callDBusRet<bool>(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<bool>(QLatin1String("updateOwnPosition"), position, altitude, pressureAltitude);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnPosition"), position, altitude, pressureAltitude);
}
bool CContextOwnAircraftProxy::updateOwnCallsign(const CCallsign &callsign)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnCallsign"), callsign);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnCallsign"), callsign);
}
bool CContextOwnAircraftProxy::updateOwnIcaoCodes(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("updateOwnIcaoCodes"), aircraftIcaoCode, airlineIcaoCode);
return m_dBusInterface->callDBusRet<bool>(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<bool>(QLatin1String("setTransponderMode"), mode);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("setTransponderMode"), mode);
}
bool CContextOwnAircraftProxy::parseCommandLine(const QString &commandLine, const CIdentifier &originator)
{
return this->m_dBusInterface->callDBusRet<bool>(QLatin1String("parseCommandLine"), commandLine, originator);
return m_dBusInterface->callDBusRet<bool>(QLatin1String("parseCommandLine"), commandLine, originator);
}
} // namespace
} // namespace

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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;