QDBusReply Class
template <typename T> class QDBusReplyLa classe QDBusReply stocke la réponse à un appel de méthode adressé à un objet distant. En savoir plus...
| En-tête : | #include <QDBusReply> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
| qmake : | QT += dbus |
Fonctions publiques
| QDBusReply(const QDBusError &error = QDBusError()) | |
| QDBusReply(const QDBusMessage &reply) | |
| QDBusReply(const QDBusPendingCall &pcall) | |
| QDBusReply(const QDBusPendingReply<T> &reply) | |
| const QDBusError & | error() const |
| bool | isValid() const |
| QDBusReply<T>::Type | value() const |
| operator QDBusReply<T>::Type() const | |
| QDBusReply<T> & | operator=(const QDBusError &dbusError) |
| QDBusReply<T> & | operator=(const QDBusMessage &reply) |
| QDBusReply<T> & | operator=(const QDBusPendingCall &pcall) |
Description détaillée
QDBusReply<T> est une classe de modèle où T spécifie le type de retour attendu. Un objet QDBusReply est un sous-ensemble de l'objet QDBusMessage qui représente la réponse à un appel de méthode. Il ne contient que le premier argument de sortie ou le code d'erreur et est utilisé par les classes dérivées de QDBusInterface pour permettre le renvoi du code d'erreur en tant qu'argument de retour de la fonction.
Il peut être utilisé de la manière suivante :
QDBusReply<QString> reply = interface->call("RemoteMethod");
if (reply.isValid())
// use the returned value
useValue(reply.value());
else
// call failed. Show an error condition.
showError(reply.error());Si l’appel de méthode à distance ne peut pas échouer, vous pouvez ignorer la vérification d’erreur :
reply = interface->call("RemoteMethod");Cependant, s'il échoue dans ces conditions, la valeur renvoyée par QDBusReply<T>::value() est une valeur construite par défaut. Elle peut être impossible à distinguer d'une valeur de retour valide.
Les objets QDBusReply sont utilisés pour les appels à distance qui n’ont ni argument de sortie ni valeur de retour (c’est-à-dire dont le type de retour est « void »). Utilisez la fonction ` isValid()` pour vérifier si la réponse a abouti.
Voir également QDBusMessage et QDBusInterface.
Documentation des fonctions membres
QDBusReply::QDBusReply(const QDBusError &error = QDBusError())
Crée une réponse d'erreur à partir du code d'erreur D-Bus fourni par error.
QDBusReply::QDBusReply(const QDBusMessage &reply)
Créer automatiquement un objet `QDBusReply` à partir du message de réponse reply, en en extrayant la première valeur de retour s'il s'agit d'une réponse positive.
QDBusReply::QDBusReply(const QDBusPendingCall &pcall)
Construire automatiquement un objet `QDBusReply` à partir de l'appel asynchrone en attente ` pcall`. Si l'appel n'est pas encore terminé, `QDBusReply` appellera `QDBusPendingCall::waitForFinished()`, qui est une opération bloquante.
Si les types de retour sont « patch », QDBusReply extraira le premier argument de retour de la réponse.
QDBusReply::QDBusReply(const QDBusPendingReply<T> &reply)
Crée un objet `QDBusReply` à partir du message de réponse en attente, ` reply`.
const QDBusError &QDBusReply::error() const
Renvoie le code d'erreur renvoyé par l'appel de fonction distant. Si l'appel distant n'a pas renvoyé d'erreur (c'est-à-dire s'il a abouti), l'objet ` QDBusError ` renvoyé ne correspondra pas à un code d'erreur valide (la fonction `QDBusError::isValid()` renverra `false`).
Voir également isValid().
bool QDBusReply::isValid() const
Renvoie « true » si aucune erreur ne s'est produite ; sinon, renvoie « false ».
Voir également error().
QDBusReply<T>::Type QDBusReply::value() const
Renvoie la valeur de retour de la fonction distante. Si l'appel distant a renvoyé une erreur, la valeur de retour de cette fonction n'est pas définie et peut être impossible à distinguer d'une valeur de retour valide.
Cette fonction n'est pas disponible si l'appel distant renvoie « void ».
QDBusReply::operator QDBusReply<T>::Type() const
Renvoie la même valeur que la fonction ` value()`.
Cette fonction n'est pas disponible si l'appel distant renvoie « void ».
QDBusReply<T> &QDBusReply::operator=(const QDBusError &dbusError)
Définit cet objet pour qu'il contienne le code d'erreur fourni par ` dbusError`. Vous pourrez ensuite y accéder via ` error()`.
QDBusReply<T> &QDBusReply::operator=(const QDBusMessage &reply)
Fait en sorte que cet objet contienne le message « reply ». Si « reply » est un message d'erreur, cette fonction copiera le code d'erreur et le message dans cet objet
Si reply est un message de réponse standard et contient au moins un paramètre, celui-ci sera copié dans cet objet, à condition qu'il soit du bon type. S'il n'est pas du même type que cet objet QDBusError, cette fonction définira à la place un code d'erreur indiquant une incompatibilité de types.
QDBusReply<T> &QDBusReply::operator=(const QDBusPendingCall &pcall)
Fait en sorte que cet objet contienne la réponse spécifiée par l'appel asynchrone en attente ` pcall`. Si l'appel n'est pas encore terminé, cette fonction appellera `QDBusPendingCall::waitForFinished()` pour se bloquer jusqu'à l'arrivée de la réponse.
Si pcall se termine par un message d’erreur, cette fonction copiera le code d’erreur et le message dans cet objet
Si pcall s’est terminé par un message de réponse standard et contient au moins un paramètre, celui-ci sera copié dans cet objet, à condition qu’il soit du type approprié. S’il n’est pas du même type que cet objet QDBusError, cette fonction définira à la place un code d’erreur indiquant une incompatibilité de types.
© 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.