[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/bluedevil/src/daemon/helpers/filereceiver
From: Eduardo Robles Elvira <edulix () gmail ! com>
Date: 2010-04-12 22:22:24
Message-ID: 20100412222224.7B8A6AC897 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1114180 by edulix:
helper now dies after a timeout when server is stopped
M +24 -1 service.cpp
M +3 -0 service.h
--- trunk/playground/base/bluedevil/src/daemon/helpers/filereceiver/service.cpp #1114179:1114180
@@ -26,6 +26,8 @@
#include <solid/control/bluetoothinterface.h>
#include <KDebug>
+#include <QtCore/QCoreApplication>
+
Service::Service()
{
kDebug(4567);
@@ -38,7 +40,10 @@
Service::~Service()
{
- delete m_server;
+ QDBusConnection dbus = QDBusConnection::sessionBus();
+ dbus.unregisterObject("/Service");
+ dbus.unregisterService("org.kde.BlueDevil.Service");
+ qApp->quit();
}
void Service::launchServer()
@@ -56,10 +61,28 @@
void Service::stopServer()
{
kDebug() << m_server;
+
+ if (!m_server) {
+ return;
+ }
+
m_server->deleteLater();
m_server = 0;
+
+ // After 10 seconds, if server is not restarted, terminate the helper
+ QTimer::singleShot(10000, this, SLOT(quit()));
}
+void Service::quit()
+{
+ kDebug();
+ // Only quit if no server is running
+ if (!m_server) {
+ deleteLater();
+ }
+}
+
+
QString Service::ping()
{
return "pong";
--- trunk/playground/base/bluedevil/src/daemon/helpers/filereceiver/service.h #1114179:1114180
@@ -37,6 +37,9 @@
void stopServer();
QString ping();
+private Q_SLOTS:
+ void quit();
+
private:
OpenObex::Server* m_server;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic