Sur cette page

QDBusPendingCall Class

La classe QDBusPendingCall fait référence à un appel asynchrone en attente. Plus d'informations...

En-tête : #include <QDBusPendingCall>
CMake : find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake : QT += dbus
Inherited By :

QDBusPendingCallWatcher

Fonctions publiques

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

Membres publics statiques

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

Description détaillée

Un objet QDBusPendingCall est une référence à un appel de méthode qui a été envoyé via D-Bus sans attendre de réponse. QDBusPendingCall est un type opaque, destiné à être utilisé comme poignée pour une réponse en attente.

Dans la plupart des programmes, la classe QDBusPendingCall ne sera pas utilisée directement. Elle peut être remplacée en toute sécurité par la classe QDBusPendingReply, basée sur un modèle, afin d'accéder au contenu de la réponse ou d'attendre qu'elle soit terminée.

La classe QDBusPendingCallWatcher permet de se connecter à un signal qui indiquera si la réponse est arrivée ou si l'appel a expiré. Elle fournit également la méthode QDBusPendingCallWatcher::waitForFinished() qui suspend l'exécution du programme jusqu'à ce que la réponse soit arrivée.

Remarque : si vous créez une copie d'un objet QDBusPendingCall, toutes les informations seront partagées entre les nombreuses copies. Par conséquent, QDBusPendingCall est un objet explicitement partagé et ne fournit pas de méthode pour détacher les copies (puisqu'elles se réfèrent au même appel en attente).

Voir également QDBusPendingReply et QDBusPendingCallWatcher.

Documentation des fonctions membres

QDBusPendingCall::QDBusPendingCall(const QDBusPendingCall &other)

Crée une copie de l'appel asynchrone en attente other. Notez que les deux objets feront référence au même appel en attente.

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

Déplace other dans cet objet.

Remarque : l'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valables sont la destruction et l'attribution d'une nouvelle valeur.

Cette fonction a été introduite dans Qt 6.10.

[noexcept] QDBusPendingCall::~QDBusPendingCall()

Détruit cette copie de l'objet QDBusPendingCall. Si cette copie est également la dernière copie d'un appel asynchrone en cours, l'appel sera annulé et aucune autre notification ne sera reçue. Il n'y aura aucun moyen d'accéder au contenu de la réponse lorsqu'elle arrivera.

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

Crée un objet QDBusPendingCall sur la base du message msg. Le message doit être de type QDBusMessage::ErrorMessage ou QDBusMessage::ReplyMessage (c'est-à-dire un message typique d'un appel terminé).

Cette fonction est utile pour le code qui nécessite de simuler un appel en attente, mais qui est déjà terminé.

Voir aussi fromError().

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

Crée un objet QDBusPendingCall basé sur la condition d'erreur error. L'objet d'appel en attente résultant sera dans l'état "terminé" et QDBusPendingReply<Types...>::isError() renverra true.

Voir aussi fromCompletedCall().

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

Échange cette instance d'appel en attente avec other. Cette opération est très rapide et n'échoue jamais.

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

Move-assigns other into this QDBusPendingCall.

Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.

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

Crée une copie de l'appel asynchrone en attente other et supprime la référence à l'appel précédemment référencé. Notez que les deux objets feront référence au même appel en attente après cette fonction.

Si cet objet contenait la dernière référence d'un appel asynchrone en attente, l'appel sera annulé et aucune autre notification ne sera reçue. Il n'y aura aucun moyen d'accéder au contenu de la réponse lorsqu'elle arrivera.

© 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.