This avoids repeated dynamic memory allocations in dbusMessageHandler
methods and elsewhere due to repeatedly constructing temporary strings.
std::string_view is a C++17 feature but also part of the Library
Fundamentals TS and available in all our compilers.
This is more tolerant that the simple check based on version numbers.
Different versions can be compatible if they have the same SHA-1 when
considering only those files that can influence xswiftbus.
The configuration for MacOS branch got removed in a previous commit which
caused DBus and libevent libraries not to be installed since they are not
yet existing in the expected path at the time when qmake runs.
This allows to get the version number of XSwiftBus itself. It maintains the same version as swift (e.g. 0.8.7 without the time stamp) and can be used to compare it for compatibility reasons.
ref T394
There were only very few classes used from Blackmisc after the interpolator
was moved to the driver. Therefore replace those few classes with
a simple alternative and remove BlackMisc from xswiftbus.
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.
Summary:
XSwiftBus needs to be able to locate dbus-1-3.dll, expat.dll, and dbus-daemon.exe.
We simply need to install them in the same folder as XSwiftBus itself (as we already do with blackmisc.dll).
Then we need to install session.conf in a share/dbus-1 subfolder where dbus-daemon.exe can find it.
Reviewers: rwinklmeier
Reviewed By: rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D54
Summary:
With Qt 5.9, the install executable changed from coreutils 'install'
to qmake. This changed the behaviour for symbol links and wild cards.
Previously, the symbol link target was installed as deep copy but with
the name of the symbol link on MacOS. Now qmake just creates a new symbol
link everywhere. Wild cards at install time also do not work anymore.
Install files are only resolved properly, if they existed when qmake was
running. This is not the case for our build products.
To address both issues, we need to manually call cp command. cp command
does deep copy symbol links, therefore copy only one with the major version
number only.
Reviewers: #swift_pilot_client, msutcliffe
Reviewed By: #swift_pilot_client, msutcliffe
Subscribers: msutcliffe, jenkins
Differential Revision: https://dev.swift-project.org/D38
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