Summary:
With this change the server type is a dynamic setting per server and
replaces the hardcoded global server type in CNetworkVatlib. This allows
the user to select the server type in settings ui and configures
the vatlib session accordingly.
This also removes the command line argument to set the server type since
it doesn't make sense anymore.
Reviewers: msutcliffe
Reviewed By: msutcliffe
Subscribers: jenkins
Differential Revision: https://dev.swift-project.org/D24
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:
On Windows, libdbus will spawn dbus-daemon when swift tries to connect to the session bus.
The daemon looks for session.conf in the share directory.
This patch ensures session.conf is installed in that directory.
Fixes T79.
Reviewers: rwinklmeier
Reviewed By: rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Maniphest Tasks: T79
Differential Revision: https://dev.swift-project.org/D22
This fixes the GCC warning "deleting polymorphic object with non-virtual destructor".
They are marked final so the virtual dispatch can be optimized out, because they don't need to be overridden.
* All members of CMeasurementUnit moved into nested pimpl class Data.
* CMeasurementUnit has only one member: a pointer to a const Data.
* Static const CMeasurementUnits replaced with static const Datas.
* Each CMeasurementUnit singleton method returns by-value a CMeasurementUnit containing a pointer to a static const Data.
* Means CMeasurementUnit is trivial to copy because we never copy the pimpl members.
** Works because the available units are fixed at compile time so we never need to create novel units at runtime.
* CMeasurementUnit and every one of its members is a literal type.
** This requires using QLatin1String instead of QString.
* Every static const CMeasurementUnit is static constexpr.
** This means they are initialized at compile time, no runtime initialization needed.
Summary: Fixing a snag I noticed while reviewing D11. There is no need to use a regex for such a simple thing as removing `[^A-Z]`. Some other minor optimizations in the same function.
Reviewers: rwinklmeier, kbasan
Reviewed By: rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D20
* removed CacheUntilNewer
* did not really work and had some problems
* cache timestamp not really a good value to compare with
* too slow with remote file
Summary:
New aircraft for XP11 should include a name, author, and studio. These can be used to generate a better model string that doesn't depend on file or directory names.
If the `.acf` contains studio, this is used as the distributor. Otherwise, we use author as distributor instead (truncated in case it is a long list of names).
Then the model string is constructed by combining distributor and model name. If the model name already contains the distributor, we just use the model name.
If the name and distributor are missing, we fall back to the old scheme based on `.acf` filename and dirname.
I have also added a space between aircraft and livery. And I have added default description strings.
After this has landed and been deployed to users, we will need to remove all flyable X-Plane planes from the database and start again with them. (These are the excluded ones.) And we can't accept mappings that use the fallback old scheme if the submitted has renamed the `.acf` file or directory name.
Reviewers: rwinklmeier, kbasan
Reviewed By: kbasan
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D16
Summary:
Using `QStringRef` and `QLatin1String` to avoid unnecessary allocations and conversions.
Depends on D12.
Reviewers: rwinklmeier, kbasan
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D13
Summary:
There are optional fields in an X-Plane flyable aircraft that we can use if they are present:
* Description
* Name
* Distributor
If not present, the user has to edit them manually.
@kbasan Any problem with constructing a `CDistributor` with empty db key?
Reviewers: rwinklmeier, kbasan
Reviewed By: rwinklmeier
Subscribers: jenkins, kbasan
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D12
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