Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
src_qdbus_qdbusabstractinterface.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
4#include <QString>
5#include <QDBusMessage>
6#include <QDBusReply>
7#include <QDBusInterface>
8
9using namespace Qt::StringLiterals;
10
12{
14
15public:
17 : QObject(parent) {
18 interface = new QDBusInterface("org.example.Interface", "/Example/Methods");
19 }
20
22 void interfaceMain();
23 void asyncCall();
25
26public slots:
28
29private:
31};
32
34{
38
39QDBusReply<int> api = interface->call("GetAPIVersion"_L1);
40if (api >= 14)
41 reply = interface->call("ProcessWorkUnicode"_L1, value);
42else
43 reply = interface->call("ProcessWork"_L1, "UTF-8"_L1, value.toUtf8());
45}
46
48{
50QDBusPendingCall pcall = interface->asyncCall("GetAPIVersion"_L1);
51auto watcher = new QDBusPendingCallWatcher(pcall, this);
52
56 QDBusPendingReply<int> reply(*w);
57 QDBusPendingCall pcall;
58 if (reply.argumentAt<0>() >= 14)
59 pcall = interface->asyncCall("ProcessWorkUnicode"_L1, value);
60 else
61 pcall = interface->asyncCall("ProcessWork"_L1, "UTF-8"_L1, value.toUtf8());
62
63 w = new QDBusPendingCallWatcher(pcall);
66});
68}
Abstract_DBus_Interface(QObject *parent=nullptr)
\inmodule QtDBus
\inmodule QtDBus
void finished(QDBusPendingCallWatcher *self=nullptr)
This signal is emitted when the pending call has finished and its reply is available.
\inmodule QtDBus
\inmodule QtCore
Definition qobject.h:103
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
Definition qobject.cpp:2960
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char * interface
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLfloat GLfloat GLfloat w
[0]
#define Q_OBJECT
#define slots
QFutureWatcher< int > watcher
QNetworkReply * reply
QNetworkRequestFactory api
[0]