diff options
Diffstat (limited to 'src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp')
-rw-r--r-- | src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp b/src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp index 7e6ee55b8a..9a37e7bb09 100644 --- a/src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp +++ b/src/dbus/doc/snippets/code/src_qdbus_qdbuspendingreply.cpp @@ -47,21 +47,52 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include <QDBusPendingCall> +#include <QDBusInterface> +#include <QDBusPendingReply> +class DBus_PendingReply_Interface : public QObject +{ + Q_OBJECT + +public: + DBus_PendingReply_Interface(QObject *parent = nullptr) + : QObject(parent) { + iface = new QDBusInterface("org.example.Interface", "/Example/Methods"); + } + + ~DBus_PendingReply_Interface() { delete iface; } + void callInterfaceMainR(); + void PendingReplyString(); + void PendingReplyBool(); + void showErrorD(QDBusError); + void showSuccess(QVariant); + void showFailure(QVariant); + void useValue(QDBusPendingReplyTypes::Select<0, QString, void, void, void, void, void, void, void>::Type); +public slots: + +private: + QDBusInterface *iface; +}; + +void DBus_PendingReply_Interface::PendingReplyString() { //! [0] - QDBusPendingReply<QString> reply = interface->asyncCall("RemoteMethod"); + QDBusPendingReply<QString> reply = iface->asyncCall("RemoteMethod"); reply.waitForFinished(); if (reply.isError()) // call failed. Show an error condition. - showError(reply.error()); + showErrorD(reply.error()); else // use the returned value useValue(reply.value()); //! [0] +} +void DBus_PendingReply_Interface::PendingReplyBool() +{ //! [2] - QDBusPendingReply<bool, QString> reply = interface->asyncCall("RemoteMethod"); + QDBusPendingReply<bool, QString> reply = iface->asyncCall("RemoteMethod"); reply.waitForFinished(); if (!reply.isError()) { if (reply.argumentAt<0>()) |