// Copyright (C) 2020 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! \page dbus-changes-qt6.html \title Changes to Qt D-Bus \ingroup changes-qt-5-to-6 \brief Minimal porting effort to be able to switch to Qt 6. 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. \section1 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. \section2 The QDBusMessage class The QDBusMessage::call() and QDBusMessage::asyncCall() methods with a fixed size of arguments have been removed in Qt6. \section2 The QDBusArgument class The QDBusArgument::operator<<() specializations for QHash, QMap and QList have been unified into common specializations for associative containers. \section2 The QDBusConnection class The QDBusConnection::sender() function has been removed in Qt6. \section2 The QDBusMessage class The QDBusMessage::createErrorReply() function now takes the QString \c name argument by const reference instead of taking by value. \section2 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. */