- Use common function for Session and P2P connections
- Don't use the DBus service watcher as it did not allow to test in regular intervals
- Add a XSwiftBus version check to X-Plane listener
- Try to initialize and acquire multiplayer planes in checkConnection() already and warn the user if any of those failed. The plugin will be loaded only if everything succeeded.
* typo getRemoteAircraftsData -> getRemoteAircraftData (no "s")
* typo getEelevationAtPosition (double "Ee")
* get functions "const"
* added unit for some variables such as latitudeDeg
* 2 queues, one for pending "to be added" aircraft and one for "adding in progress" (easier timeout detection)
* disconnect DBus when unloading
* check if aircraft "are still in range" before adding
* adding to XPlane only in one place
* data for aircraft can be explicitly request and are requested directly when an aircraft has been added
Instead of requesting it individually for each callsign and waiting for a
signal from xswiftbus, pass in a list of callsigns and use async callback
to read the data.
* return interpolation results parts/situation in one step
* base class init for each interpolation step, less redundant code
* removed old interpolation/parts function
* adjusted unit tests and simulator objects (such as SimObject)
* split functions, added findClosestElevationWithinRangeOrRequest
* obtain elevation ids (separate ids are easier to track)
* also added experimental "physicallyAddAITerrainProbe" (FSX) for the FSX elevation probing
* callback / signal when requested elevation is received (async)
Previously all own aircraft values were request via single DBus calls.
Since DBus allows up to 8 values in its reply, use this mechanism
to group the requests and reduce the amount of single calls.
* 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