En esta página

QDBusReply Class

template <typename T> class QDBusReply

La clase QDBusReply almacena la respuesta de una llamada de método a un objeto remoto. Más...

Cabecera: #include <QDBusReply>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus

Funciones públicas

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)

Descripción detallada

Un objeto QDBusReply es un subconjunto del objeto QDBusMessage que representa la respuesta de una llamada a un método. Contiene únicamente el primer argumento de salida o el código de error y es utilizado por las clases derivadas de QDBusInterface para permitir la devolución del código de error como argumento de retorno de la función.

Se puede utilizar de la siguiente manera:

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 la llamada al método remoto no puede fallar, puede omitir la comprobación de errores:

reply = interface->call("RemoteMethod");

Sin embargo, si falla en esas condiciones, el valor devuelto por QDBusReply<T>::value() es un valor construido por defecto. Puede ser indistinguible de un valor de retorno válido.

Los objetos QDBusReply se utilizan para llamadas remotas que no tienen argumentos de salida ni valores de retorno (es decir, tienen un tipo de retorno "void"). Utiliza la función isValid() para comprobar si la respuesta ha tenido éxito.

Véase también QDBusMessage y QDBusInterface.

Documentación de las funciones miembro

QDBusReply::QDBusReply(const QDBusError &error = QDBusError())

Construye una respuesta de error a partir del código de error D-Bus dado por error.

QDBusReply::QDBusReply(const QDBusMessage &reply)

Construye automáticamente un objeto QDBusReply a partir del mensaje de respuesta reply, extrayendo de él el primer valor de retorno si se trata de una respuesta satisfactoria.

QDBusReply::QDBusReply(const QDBusPendingCall &pcall)

Construye automáticamente un objeto QDBusReply a partir de la llamada pendiente asíncrona pcall. Si la llamada aún no ha finalizado, QDBusReply llamará a QDBusPendingCall::waitForFinished(), que es una operación de bloqueo.

Si los tipos de retorno coinciden, QDBusReply extraerá el primer argumento de retorno de la respuesta.

QDBusReply::QDBusReply(const QDBusPendingReply<T> &reply)

Construye un objeto QDBusReply a partir del mensaje de respuesta pendiente, reply.

const QDBusError &QDBusReply::error() const

Devuelve el código de error devuelto por la llamada a la función remota. Si la llamada remota no devolvió un error (es decir, si tuvo éxito), entonces el objeto QDBusError que se devuelve no será un código de error válido (QDBusError::isValid() devolverá false).

Véase también isValid().

bool QDBusReply::isValid() const

Devuelve true si no se ha producido ningún error; en caso contrario, devuelve false.

Véase también error().

QDBusReply<T>::Type QDBusReply::value() const

Devuelve el valor de retorno de la llamada a la función remota. Si la llamada remota devuelve un error, el valor de retorno de esta función es indefinido y puede ser indistinguible de un valor de retorno válido.

Esta función no está disponible si la llamada remota devuelve void.

QDBusReply::operator QDBusReply<T>::Type() const

Devuelve lo mismo que value().

Esta función no está disponible si la llamada remota devuelve void.

QDBusReply<T> &QDBusReply::operator=(const QDBusError &dbusError)

Establece este objeto para que contenga el código de error dado por dbusError. Posteriormente podrás acceder a él con error().

QDBusReply<T> &QDBusReply::operator=(const QDBusMessage &reply)

Hace que este objeto contenga el mensaje reply. Si reply es un mensaje de error, esta función copiará el código de error y el mensaje en este objeto.

Si reply es un mensaje de respuesta estándar y contiene al menos un parámetro, se copiará en este objeto, siempre que sea del tipo correcto. Si no es del mismo tipo que este objeto QDBusError, esta función establecerá en su lugar un código de error indicando un desajuste de tipo.

QDBusReply<T> &QDBusReply::operator=(const QDBusPendingCall &pcall)

Hace que este objeto contenga la respuesta especificada por la llamada asíncrona pendiente pcall. Si la llamada aún no ha finalizado, esta función llamará a QDBusPendingCall::waitForFinished() para bloquear hasta que llegue la respuesta.

Si pcall finaliza con un mensaje de error, esta función copiará el código de error y el mensaje en este objeto.

Si pcall termina con un mensaje de respuesta estándar y contiene al menos un parámetro, se copiará en este objeto, siempre que sea del tipo correcto. Si no es del mismo tipo que este objeto QDBusError, esta función establecerá en su lugar un código de error indicando un desajuste de tipo.

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