summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt/connection.cpp7
-rw-r--r--qt/connection.h1
-rw-r--r--qt/integrator.cpp9
3 files changed, 15 insertions, 2 deletions
diff --git a/qt/connection.cpp b/qt/connection.cpp
index ba161504..f426d698 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 ca962b10..7cb922e3 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 5cf72644..fff32b39 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<Watch> 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<Watch> it( m_watches );
+ for ( ; it.current(); ++it )
+ dbus_watch_handle ( it.current()->watch, DBUS_WATCH_WRITABLE );
}
void Integrator::slotTimeout( DBusTimeout *timeout )