Changes to Qt D-Bus
Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.
We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.
In this topic we summarize those changes in Qt DBus, and provide guidance to handle them.
API changes
The QtDBus module has undergone some basic consolidation and cleanup. There should be minimal porting effort to be able to switch to Qt6.
The QDBusMessage class
The QDBusMessage::call() and QDBusMessage::asyncCall() methods with a fixed size of arguments have been removed in Qt6.
The QDBusArgument class
The QDBusArgument::operator<<() specializations for QHash, QMap and QList have been unified into common specializations for associative containers.
The QDBusConnection class
The QDBusConnection::sender() function has been removed in Qt6.
The QDBusMessage class
The QDBusMessage::createErrorReply() function now takes the QString name
argument by const reference instead of taking by value.
The QDBusPendingReply class
QDBusPendingReply has been changed to be a variadic template class in order to support more than 8 template parameters now. The template parameters are the types that will be used to extract the contents of the reply's data.