The use of old method emits a small warning which had been bugging me.
- Vishesh Handa
Index: server/dbus/dbusexportiterator.cpp
===================================================================
--- server/dbus/dbusexportiterator.cpp (revision 1131719)
+++ server/dbus/dbusexportiterator.cpp (working copy)
@@ -30,6 +30,7 @@
#include "queryresultiterator.h"
#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusServiceWatcher>
class Soprano::Server::DBusExportIterator::Private
@@ -38,6 +39,10 @@ public:
Private( DBusExportIterator* parent )
: deleteOnClose( false ),
q( parent ) {
+
+ serviceWatcher.setConnection( QDBusConnection::sessionBus() );
+ connect( &serviceWatcher, SIGNAL( serviceOwnerChanged( QString, QString, QString ) ),
+ q, SLOT( slotServiceOwnerChanged( QString, QString, QString ) ) );
}
void slotServiceOwnerChanged( const QString& name, const QString&, const QString& );
@@ -51,6 +56,8 @@ public:
QString dbusObjectPath;
QString dbusClient;
+ QDBusServiceWatcher serviceWatcher;
+
private:
DBusExportIterator* q;
};
@@ -151,9 +158,7 @@ bool Soprano::Server::DBusExportIterator
}
if( QDBusConnection::sessionBus().registerObject( dbusObjectPath, this ) ) {
- connect( QDBusConnection::sessionBus().interface(), SIGNAL(serviceOwnerChanged(const QString&, const QString&, const QString&)),
- this, SLOT(slotServiceOwnerChanged(const QString&, const QString&, const QString&)) );
-
+ d->serviceWatcher.addWatchedService( dbusClient );
d->dbusObjectPath = dbusObjectPath;
d->dbusClient = dbusClient;
return true;
@@ -169,8 +174,7 @@ bool Soprano::Server::DBusExportIterator
void Soprano::Server::DBusExportIterator::unregisterIterator()
{
- disconnect( QDBusConnection::sessionBus().interface(), SIGNAL(serviceOwnerChanged(const QString&, const QString&, const QString&)),
- this, SLOT(slotServiceOwnerChanged(const QString&, const QString&, const QString&)) );
+ d->serviceWatcher.removeWatchedService( d->dbusClient );
d->dbusObjectPath = QString();
d->dbusClient = QString();
QDBusConnection::sessionBus().unregisterObject( d->dbusObjectPath );
_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk