6#include <QDBusConnection>
7#include <QLatin1String>
17using namespace swift::misc::aviation;
18using namespace swift::misc::simulation;
20namespace swift::core::context
24 : IContextOwnAircraft(mode, runtime), m_dBusInterface(nullptr)
28 this->relaySignals(serviceName, connection);
35 "changedAircraftCockpit",
this,
39 "changedSelcal",
this,
46 "changedAircraftIcaoCodes",
this,
62 void CContextOwnAircraftProxy::unitTestRelaySignals()
97 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateCockpit"), com1, com2, transponder, originator);
103 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateTransponderMode"), transponderMode, originator);
110 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateActiveComFrequency"), frequency, comUnit,
118 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateStandbyComFrequency"), frequency, comUnit,
124 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateOwnAircraftPilot"), pilot);
129 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateSelcal"), selcal, originator);
136 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateOwnPosition"), position, altitude,
142 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateOwnCallsign"), callsign);
148 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"updateOwnIcaoCodes"), aircraftIcaoCode,
154 m_dBusInterface->callDBus(
QLatin1String(
"toggleTransponderMode"));
159 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"setTransponderMode"), mode);
164 return m_dBusInterface->callDBusRet<
bool>(
QLatin1String(
"parseCommandLine"), commandLine, originator);
ContextMode
How to handle a given context.
@ Remote
context runs in a different process.
The class providing facades (the contexts) for all DBus relevant operations.
CContextOwnAircraftProxy(CCoreFacadeConfig::ContextMode mode, CCoreFacade *runtime)
Constructor.
bool parseCommandLine(const QString &commandLine, const swift::misc::CIdentifier &originator)
Parse a given command line.
swift::misc::aviation::CComSystem getOwnComSystem(swift::misc::aviation::CComSystem::ComUnit unit) const
Get own COM system.
bool updateOwnIcaoCodes(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcaoCode, const swift::misc::aviation::CAirlineIcaoCode &airlineIcaoCode)
Set ICAO data.
bool updateSelcal(const swift::misc::aviation::CSelcal &selcal, const swift::misc::CIdentifier &originator)
Own SELCAL code.
bool updateTransponderMode(const swift::misc::aviation::CTransponder::TransponderMode &transponderMode, const swift::misc::CIdentifier &originator)
Update own transponder mode.
bool updateCockpit(const swift::misc::aviation::CComSystem &com1, const swift::misc::aviation::CComSystem &com2, const swift::misc::aviation::CTransponder &transponder, const swift::misc::CIdentifier &originator)
Update own cockpit.
bool updateActiveComFrequency(const swift::misc::physical_quantities::CFrequency &frequency, swift::misc::aviation::CComSystem::ComUnit comUnit, const swift::misc::CIdentifier &originator)
Tune in a COM frequency (active).
swift::misc::simulation::CSimulatedAircraft getOwnAircraft() const
Get own aircraft.
bool setTransponderMode(swift::misc::aviation::CTransponder::TransponderMode mode)
Set XPDR mode.
swift::misc::aviation::CAircraftSituation getOwnAircraftSituation() const
Get own aircraft.
swift::misc::aviation::CTransponder getOwnTransponder() const
Get own transponder.
bool updateOwnPosition(const swift::misc::geo::CCoordinateGeodetic &position, const swift::misc::aviation::CAltitude &altitude, const swift::misc::aviation::CAltitude &pressureAltitude)
Update position.
bool updateStandbyComFrequency(const swift::misc::physical_quantities::CFrequency &frequency, swift::misc::aviation::CComSystem::ComUnit comUnit, const swift::misc::CIdentifier &originator)
Tune in a COM frequency (standby).
void toggleTransponderMode()
Toggle XPDR mode.
bool updateOwnAircraftPilot(const swift::misc::network::CUser &pilot)
Set current pilot.
bool updateOwnCallsign(const swift::misc::aviation::CCallsign &callsign)
Set callsign.
void relayBaseClassSignals(const QString &serviceName, QDBusConnection &connection, const QString &objectPath, const QString &interfaceName)
Relay signals from this class.
void changedAircraftCockpit(const swift::misc::simulation::CSimulatedAircraft &aircraft, const swift::misc::CIdentifier &originator)
Aircraft cockpit update.
void changedPilot(const swift::misc::network::CUser &pilot)
Own pilot (aka the swift user) changed.
void changedCallsign(const swift::misc::aviation::CCallsign &callsign)
Own callsign was changed.
void changedAircraftIcaoCodes(const swift::misc::aviation::CAircraftIcaoCode &aircraftIcaoCode, const swift::misc::aviation::CAirlineIcaoCode &airlineIcaoCode)
Own ICAO was changed.
static const QString & ObjectPath()
DBus object path.
void movedAircraft(const swift::misc::physical_quantities::CLength &distance)
Aircraft has been moved from one location to another (changed scenery).
void changedSelcal(const swift::misc::aviation::CSelcal &selcal, const swift::misc::CIdentifier &originator)
Changed SELCAL code.
static const QString & InterfaceName()
DBus interface name.
static const QString & coreServiceName()
Default service name.
Used for hand written interface based on virtual methods.
Value object encapsulating information identifying a component of a modular distributed swift process...
Value object for ICAO classification.
Value object encapsulating information of an aircraft's situation.
Value object for ICAO classification.
Altitude as used in aviation, can be AGL or MSL altitude.
Value object encapsulating information of a callsign.
COM system (aka "radio").
TransponderMode
Transponder codes.
Value object encapsulating information of a user.
Physical unit length (length).
Comprehensive information of an aircraft.
Free functions in swift::misc.
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)
QDBusConnection sessionBus()