From c4d598b35bd11c1c0eca57771e68f399aeed57d2 Mon Sep 17 00:00:00 2001 From: Ievgenii Meshcheriakov Date: Thu, 7 Dec 2023 14:50:30 +0100 Subject: [PATCH] QDBus: Document that calls to local objects are never asynchronous This is a limitation of current implementation. Task-number: QTBUG-92107 Change-Id: Idb1543f432348e66ca20aa67a2498034c2f05fa6 Reviewed-by: Thiago Macieira --- src/dbus/qdbusabstractinterface.cpp | 9 +++++++++ src/dbus/qdbusconnection.cpp | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp index 423aca7b82f..f0a5032d5cb 100644 --- a/src/dbus/qdbusabstractinterface.cpp +++ b/src/dbus/qdbusabstractinterface.cpp @@ -500,6 +500,9 @@ QDBusMessage QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode mode, Normally, you should place calls using asyncCall(). + \note Method calls to objects registered by the application itself are never + asynchronous due to implementation limitations. + \threadsafe */ QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString& method, @@ -536,6 +539,9 @@ QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString parameter as its last or only parameter. The \a errorMethod must have a QDBusError as its only parameter. + \note Method calls to objects registered by the application itself are never + asynchronous due to implementation limitations. + \since 4.3 \sa QDBusError, QDBusMessage */ @@ -763,6 +769,9 @@ void QDBusAbstractInterface::internalPropSet(const char *propname, const QVarian \note Before Qt 5.14, this function accepted a maximum of just eight (8) arguments. + \note Method calls to local \c{QDBusServer}'s are never asynchronous + due to implementation limitations. + \sa asyncCallWithArgumentList() */ diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index bd9df89aaaf..f6918b70b02 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -431,6 +431,9 @@ QDBusMessage QDBusConnection::call(const QDBusMessage &message, QDBus::CallMode See the QDBusInterface::asyncCall() function for a more friendly way of placing calls. + + \note Method calls to objects registered by the application itself are never + asynchronous due to implementation limitations. */ QDBusPendingCall QDBusConnection::asyncCall(const QDBusMessage &message, int timeout) const {