summaryrefslogtreecommitdiffstats
path: root/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-01-19 13:49:52 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2015-01-21 11:10:14 +0100
commitb6191b16d41459ed73cea738dfaf8e25e81ae22b (patch)
tree6ad0952af507bf1ab8df9612023d6e224db8d7e2 /tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
parentb2883a6acc7a8d8372a815cc91dd1a8449f25723 (diff)
parent9087df6bd2dd5198ccf101a237aadee331e51ec3 (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
Diffstat (limited to 'tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp')
-rw-r--r--tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
index 7a22fe90ad..8da9068541 100644
--- a/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
+++ b/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver.cpp
@@ -63,9 +63,17 @@ public slots:
return QDBusServer::address();
}
- bool isConnected() const
+ void waitForConnected()
{
- return m_conn.isConnected();
+ if (callPendingReply.type() != QDBusMessage::InvalidMessage) {
+ sendErrorReply(QDBusError::NotSupported, "One call already pending!");
+ return;
+ }
+ if (m_conn.isConnected())
+ return;
+ // not connected, we'll reply later
+ setDelayedReply(true);
+ callPendingReply = message();
}
void emitSignal(const QString &interface, const QString &name, const QString &arg)
@@ -88,7 +96,6 @@ public slots:
QVariantList callArgs()
{
- qDebug() << "callArgs" << MyObject::callArgs.count();
return MyObject::callArgs;
}
@@ -112,6 +119,10 @@ public slots:
return obj.m_complexProp;
}
+ void quit()
+ {
+ qApp->quit();
+ }
private slots:
void handleConnection(const QDBusConnection& con)
@@ -120,10 +131,15 @@ private slots:
m_conn.registerObject("/", &obj, QDBusConnection::ExportAllProperties
| QDBusConnection::ExportAllSlots
| QDBusConnection::ExportAllInvokables);
+ if (callPendingReply.type() != QDBusMessage::InvalidMessage) {
+ QDBusConnection::sessionBus().send(callPendingReply.createReply());
+ callPendingReply = QDBusMessage();
+ }
}
private:
QDBusConnection m_conn;
+ QDBusMessage callPendingReply;
MyObject obj;
};