From: Harald Fernengel Date: Sat, 4 Sep 2004 15:09:48 +0000 (+0000) Subject: patch by Jérôme Lodewyck to enable integration X-Git-Tag: dbus-0.23~114 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=970414569e3cbd6e2d99a3bd38129448a31a8f98;p=thirdparty%2Fdbus.git patch by Jérôme Lodewyck to enable integration of an existing connection into the Qt main loop --- diff --git a/qt/connection.cpp b/qt/connection.cpp index ba1615049..f426d698d 100644 --- a/qt/connection.cpp +++ b/qt/connection.cpp @@ -156,6 +156,13 @@ void* Connection::virtual_hook( int, void* ) { } +void Connection::dbus_connection_setup_with_qt_main (DBusConnection *connection) +{ + d->setConnection( connection ); +} + + + ///////////////////////////////////////////////////////// #include "connection.moc" diff --git a/qt/connection.h b/qt/connection.h index ca962b105..7cb922e30 100644 --- a/qt/connection.h +++ b/qt/connection.h @@ -50,6 +50,7 @@ namespace DBusQt { Message borrowMessage(); Message popMessage(); void stealBorrowMessage( const Message& ); + void dbus_connection_setup_with_qt_main (DBusConnection *connection); public slots: void open( const QString& ); diff --git a/qt/integrator.cpp b/qt/integrator.cpp index 5cf72644f..fff32b391 100644 --- a/qt/integrator.cpp +++ b/qt/integrator.cpp @@ -162,13 +162,18 @@ Integrator::Integrator( DBusServer *server, QObject *parent ) void Integrator::slotRead( int fd ) { - Q_UNUSED( fd ); + QIntDictIterator it( m_watches ); + for ( ; it.current(); ++it ) + dbus_watch_handle ( it.current()->watch, DBUS_WATCH_READABLE ); + emit readReady(); } void Integrator::slotWrite( int fd ) { - Q_UNUSED( fd ); + QIntDictIterator it( m_watches ); + for ( ; it.current(); ++it ) + dbus_watch_handle ( it.current()->watch, DBUS_WATCH_WRITABLE ); } void Integrator::slotTimeout( DBusTimeout *timeout )