QtDBus was the main component of xswiftbus' Qt dependency. This is the
first preparation step to get xswiftbus Qt free.
The new implementation is based on the low level libdbus library, which
was also in use by QtDBus itself. But instead of QtDBus, we use now a thin
C++ wrapper. To keep DBus handling async, libevent is used to monitor
timeouts and fds.
* no longer using the add parts/situations signals
* will use the remote aircraft provider parts directly
Result: all parts/situations are stored only once in memory and in one single place
* Before this commit, only the true altitude was known for an aircraft situation. The pressure altitude was not available anywhere yet.
* This caused a wrong altitude in radar clients.
* We fix this reading the pressure altitude from the simulators and set it in the own aircraft situation.
* MS Flight Simulators have the pressure altitude in the APIs available.
* For X-Plane and emulated simulator, we need to calculate it from the pressure at sea level.
* Finally, we use the new available pressure altitude to send it to the FSD server.
Maniphest Tasks: Ref T223
* remove is handled by context call logicallyRemoveRemoteAircraft
* so far no need to use the remote provider function
* can be used again whenever needed
* Unlike in other cases, the remote aircraft provider slots are also very frequently called. So besides "style", it might be also useful here to avoid the extra MOC layers.
* Also renamed 2 web service signals and made web service connections Qt::QueuedConnection
Summary:
When unloading a sim driver, first its threads are killed, then the driver object is destroyed.
This means that when the `QDBusServiceWatcher` child object is destroyed, it deadlocks waiting for a thread that was already killed (T147).
This change causes the `QDBusServiceWatcher` to be deleted before the driver is unloaded.
Reviewers: #swift_pilot_client, kbasan, rwinklmeier
Reviewed By: #swift_pilot_client, kbasan, rwinklmeier
Subscribers: kbasan, jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D50
Summary:
Refactored parts of CAircraftModelLoaderXPlane::parseFlyableAirplanes into static method extractAcfProperties that can be called by xswiftbus.
Used extractAcfProperties in xswiftbus to provide the model string to the driver. Implemented CSimulatorXPlane::ps_emitOwnAircraftModelChanged.
Implements T74.
Reviewers: rwinklmeier
Reviewed By: rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D23
Summary:
I wanted to rename xbus because its relation to //swift// is not immediately clear from the name.
xswiftbus seems reasonable.
Reviewers: #swift_pilot_client, kbasan
Reviewed By: kbasan
Subscribers: kbasan, jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D14