summaryrefslogtreecommitdiffstats
path: root/examples/dbus
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-02-22 12:41:05 +0100
committerIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-02-28 18:15:24 +0100
commit07b8a5a4093ecb69ced47b67cbcac5121064fe5e (patch)
tree0ee8d17faf4f50917ccdca3c548aa0d109cb2062 /examples/dbus
parent38ee9ee8497291c899c2a72e0ed24bfffe9ced4e (diff)
pingpong example: Modernize the code
Use qWarning()/std::cout instead of C IO functions. Use default parameters for QDBusInterface's constructor. Remove useless Q_SCRIPTABLE. Use type-safe invokeMethod(). Extract a local variable for the used D-Bus connection. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Idc38a7c1dd97d71308d9491193039744c759d6f2 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'examples/dbus')
-rw-r--r--examples/dbus/pingpong/ping.cpp21
-rw-r--r--examples/dbus/pingpong/pong.cpp23
-rw-r--r--examples/dbus/pingpong/pong.h2
3 files changed, 22 insertions, 24 deletions
diff --git a/examples/dbus/pingpong/ping.cpp b/examples/dbus/pingpong/ping.cpp
index 17f6b0e3cb..a217107835 100644
--- a/examples/dbus/pingpong/ping.cpp
+++ b/examples/dbus/pingpong/ping.cpp
@@ -8,32 +8,33 @@
#include <QDBusInterface>
#include <QDBusReply>
-#include <stdio.h>
+#include <iostream>
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
- if (!QDBusConnection::sessionBus().isConnected()) {
- fprintf(stderr, "Cannot connect to the D-Bus session bus.\n"
- "To start it, run:\n"
- "\teval `dbus-launch --auto-syntax`\n");
+ auto connection = QDBusConnection::sessionBus();
+
+ if (!connection.isConnected()) {
+ qWarning("Cannot connect to the D-Bus session bus.\n"
+ "To start it, run:\n"
+ "\teval `dbus-launch --auto-syntax`\n");
return 1;
}
- QDBusInterface iface(SERVICE_NAME, "/", "", QDBusConnection::sessionBus());
+ QDBusInterface iface(SERVICE_NAME, "/");
if (iface.isValid()) {
QDBusReply<QString> reply = iface.call("ping", argc > 1 ? argv[1] : "");
if (reply.isValid()) {
- printf("Reply was: %s\n", qPrintable(reply.value()));
+ std::cout << "Reply was: " << qPrintable(reply.value()) << std::endl;
return 0;
}
- fprintf(stderr, "Call failed: %s\n", qPrintable(reply.error().message()));
+ qWarning("Call failed: %s\n", qPrintable(reply.error().message()));
return 1;
}
- fprintf(stderr, "%s\n",
- qPrintable(QDBusConnection::sessionBus().lastError().message()));
+ qWarning("%s\n", qPrintable(connection.lastError().message()));
return 1;
}
diff --git a/examples/dbus/pingpong/pong.cpp b/examples/dbus/pingpong/pong.cpp
index 2aad1f10f7..6bcb9a6771 100644
--- a/examples/dbus/pingpong/pong.cpp
+++ b/examples/dbus/pingpong/pong.cpp
@@ -7,14 +7,10 @@
#include <QCoreApplication>
#include <QDBusConnection>
#include <QDBusError>
-#include <QTimer>
-
-#include <stdio.h>
-#include <stdlib.h>
QString Pong::ping(const QString &arg)
{
- QMetaObject::invokeMethod(QCoreApplication::instance(), "quit");
+ QMetaObject::invokeMethod(QCoreApplication::instance(), &QCoreApplication::quit);
return QString("ping(\"%1\") got called").arg(arg);
}
@@ -22,21 +18,22 @@ int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
- if (!QDBusConnection::sessionBus().isConnected()) {
- fprintf(stderr, "Cannot connect to the D-Bus session bus.\n"
- "To start it, run:\n"
- "\teval `dbus-launch --auto-syntax`\n");
+ auto connection = QDBusConnection::sessionBus();
+
+ if (!connection.isConnected()) {
+ qWarning("Cannot connect to the D-Bus session bus.\n"
+ "To start it, run:\n"
+ "\teval `dbus-launch --auto-syntax`\n");
return 1;
}
- if (!QDBusConnection::sessionBus().registerService(SERVICE_NAME)) {
- fprintf(stderr, "%s\n",
- qPrintable(QDBusConnection::sessionBus().lastError().message()));
+ if (!connection.registerService(SERVICE_NAME)) {
+ qWarning("%s\n", qPrintable(connection.lastError().message()));
exit(1);
}
Pong pong;
- QDBusConnection::sessionBus().registerObject("/", &pong, QDBusConnection::ExportAllSlots);
+ connection.registerObject("/", &pong, QDBusConnection::ExportAllSlots);
app.exec();
return 0;
diff --git a/examples/dbus/pingpong/pong.h b/examples/dbus/pingpong/pong.h
index f683ec3dfb..2a99be9ca5 100644
--- a/examples/dbus/pingpong/pong.h
+++ b/examples/dbus/pingpong/pong.h
@@ -10,7 +10,7 @@ class Pong: public QObject
{
Q_OBJECT
public slots:
- Q_SCRIPTABLE QString ping(const QString &arg);
+ QString ping(const QString &arg);
};
#endif