summaryrefslogtreecommitdiff
path: root/qt
diff options
context:
space:
mode:
authorHarald Fernengel <harry@kdevelop.org>2004-09-04 15:09:48 +0000
committerHarald Fernengel <harry@kdevelop.org>2004-09-04 15:09:48 +0000
commit970414569e3cbd6e2d99a3bd38129448a31a8f98 (patch)
tree7aba5ff0ee1eb1609a1f57bd94f0ce2edea0bb01 /qt
parent4a77a2dd972e817a08a4571220c8406709af8c48 (diff)
patch by Jérôme Lodewyck <lodewyck@clipper.ens.fr> to enable integration
of an existing connection into the Qt main loop
Diffstat (limited to 'qt')
-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 )