Auf dieser Seite

QDBusPendingCall Class

Die Klasse „QDBusPendingCall“ bezieht sich auf einen ausstehenden asynchronen Aufruf. Mehr...

Header: #include <QDBusPendingCall>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus
Vererbt an:

QDBusPendingCallWatcher

Öffentliche Funktionen

QDBusPendingCall(const QDBusPendingCall &other)
(since 6.10) QDBusPendingCall(QDBusPendingCall &&other)
~QDBusPendingCall()
void swap(QDBusPendingCall &other)
QDBusPendingCall &operator=(QDBusPendingCall &&other)
QDBusPendingCall &operator=(const QDBusPendingCall &other)

Statische öffentliche Mitglieder

QDBusPendingCall fromCompletedCall(const QDBusMessage &msg)
QDBusPendingCall fromError(const QDBusError &error)

Ausführliche Beschreibung

Ein QDBusPendingCall-Objekt ist eine Referenz auf einen Methodenaufruf, der über D-Bus gesendet wurde, ohne auf eine Antwort zu warten. QDBusPendingCall ist ein undurchsichtiger Typ, der als Handle für eine ausstehende Antwort dienen soll.

In den meisten Programmen wird die Klasse `QDBusPendingCall` nicht direkt verwendet. Sie kann problemlos durch die templatebasierte Klasse ` QDBusPendingReply` ersetzt werden, um auf den Inhalt der Antwort zuzugreifen oder auf deren Abschluss zu warten.

Die Klasse „ QDBusPendingCallWatcher “ ermöglicht es, ein Signal zu abonnieren, das anzeigt, wann die Antwort eingetroffen ist oder ob der Aufruf abgelaufen ist. Sie stellt außerdem die Methode „ QDBusPendingCallWatcher::waitForFinished()“ bereit, die die Ausführung des Programms so lange aussetzt, bis die Antwort eingetroffen ist.

Hinweis: Wenn Sie eine Kopie eines `QDBusPendingCall`-Objekts erstellen, werden alle Informationen zwischen den verschiedenen Kopien gemeinsam genutzt. Daher ist `QDBusPendingCall` ein explizit gemeinsam genutztes Objekt und bietet keine Methode zum Trennen der Kopien (da diese sich auf denselben ausstehenden Aufruf beziehen).

Siehe auch „ QDBusPendingReply “ und „ QDBusPendingCallWatcher “.

Dokumentation zu den Mitgliedsfunktionen

QDBusPendingCall::QDBusPendingCall(const QDBusPendingCall &other)

Erstellt eine Kopie des ausstehenden asynchronen Aufrufs „ other “. Beachten Sie, dass beide Objekte auf denselben ausstehenden Aufruf verweisen.

[constexpr noexcept default, since 6.10] QDBusPendingCall::QDBusPendingCall(QDBusPendingCall &&other)

Verschiebt „ other “ in dieses Objekt.

Hinweis: Das Objekt, aus dem verschoben wurde ( other ), befindet sich in einem teilweise initialisierten Zustand, in dem nur die Zerstörung und die Zuweisung eines neuen Werts zulässig sind.

Diese Funktion wurde in Qt 6.10 eingeführt.

[noexcept] QDBusPendingCall::~QDBusPendingCall()

Löscht diese Kopie des Objekts „ QDBusPendingCall “. Wenn diese Kopie gleichzeitig die letzte Kopie eines ausstehenden asynchronen Aufrufs ist, wird der Aufruf abgebrochen und es werden keine weiteren Benachrichtigungen mehr empfangen. Es besteht dann keine Möglichkeit mehr, auf den Inhalt der Antwort zuzugreifen, sobald diese eintrifft.

[static] QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg)

Erstellt ein „ QDBusPendingCall “-Objekt auf der Grundlage der Meldung „ msg “. Die Meldung muss vom Typ „ QDBusMessage::ErrorMessage “ oder „ QDBusMessage::ReplyMessage “ sein (d. h. eine Meldung, die typisch für einen abgeschlossenen Anruf ist).

Diese Funktion ist nützlich für Code, der die Simulation eines ausstehenden Anrufs erfordert, der jedoch bereits beendet ist.

Siehe auch „ fromError()“.

[static] QDBusPendingCall QDBusPendingCall::fromError(const QDBusError &error)

Erstellt ein „ QDBusPendingCall “-Objekt auf der Grundlage der Fehlerbedingung „ error “. Das resultierende Objekt für den ausstehenden Aufruf befindet sich im Status „finished“, und „ QDBusPendingReply<Types...>::isError()“ gibt „true“ zurück.

Siehe auch fromCompletedCall().

[noexcept] void QDBusPendingCall::swap(QDBusPendingCall &other)

Ersetzt diese ausstehende Aufrufinstanz durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

[noexcept] QDBusPendingCall &QDBusPendingCall::operator=(QDBusPendingCall &&other)

other wird per Move-Zuweisung in dieses QDBusPendingCall verschoben.

Hinweis: Das verschobene Objekt other befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

QDBusPendingCall &QDBusPendingCall::operator=(const QDBusPendingCall &other)

Erstellt eine Kopie des ausstehenden asynchronen Aufrufs von „ other “ und hebt die Referenz auf den zuvor referenzierten Aufruf auf. Beachten Sie, dass beide Objekte nach dem Aufruf dieser Funktion auf denselben ausstehenden Aufruf verweisen.

Falls dieses Objekt die letzte Referenz auf einen ausstehenden asynchronen Aufruf enthielt, wird der Aufruf abgebrochen und es werden keine weiteren Benachrichtigungen mehr empfangen. Es besteht keine Möglichkeit mehr, auf den Inhalt der Antwort zuzugreifen, sobald diese eintrifft.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.