From 27f6dca9ce4680dbbe8dc20a862f5ad63b709609 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 24 Nov 2003 19:11:55 +0000 Subject: As changelog says. Integration is pretty much there, so dbus should at least use Qt for timeouts and watches comfortably now. --- qt/integrator.h | 78 ++++++++++++++++++--------------------------------------- 1 file changed, 25 insertions(+), 53 deletions(-) (limited to 'qt/integrator.h') diff --git a/qt/integrator.h b/qt/integrator.h index f66cce64..71336e95 100644 --- a/qt/integrator.h +++ b/qt/integrator.h @@ -26,18 +26,36 @@ #include #include -#include +#include #include "dbus/dbus.h" +class QTimer; + namespace DBusQt { class Connection; namespace Internal { - struct QtWatch; - struct DBusQtTimeout; + struct Watch; + + class Timeout : public QObject + { + Q_OBJECT + public: + Timeout( QObject *parent, DBusTimeout *t ); + public: + void start(); + signals: + void timeout( DBusTimeout* ); + protected slots: + void slotTimeout(); + private: + QTimer *m_timer; + DBusTimeout *m_timeout; + }; + class Integrator : public QObject { Q_OBJECT @@ -50,65 +68,19 @@ namespace DBusQt protected slots: void slotRead( int ); void slotWrite( int ); + void slotTimeout( DBusTimeout *timeout ); - protected: + public: void addWatch( DBusWatch* ); void removeWatch( DBusWatch* ); void addTimeout( DBusTimeout* ); void removeTimeout( DBusTimeout* ); private: - QIntDict m_watches; - QPtrList m_timeouts; + QIntDict m_watches; + QPtrDict m_timeouts; Connection* m_parent; - - private: - friend dbus_bool_t dbusAddWatch( DBusWatch*, void* ); - friend void dbusRemoveWatch( DBusWatch*, void* ); - friend void dbusToggleWatch( DBusWatch*, void* ); - - friend dbus_bool_t dbusAddTimeout( DBusTimeout*, void* ); - friend void dbusRemoveTimeout( DBusTimeout*, void* ); - friend void dbusToggleTimeout( DBusTimeout*, void* ); }; - - ////////////////////////////////////////////////////////////// - //Friends - dbus_bool_t dbusAddWatch( DBusWatch *watch, void *data ) - { - Integrator *con = static_cast( data ); - con->addWatch( watch ); - return true; - } - void dbusRemoveWatch( DBusWatch *watch, void *data ) - { - Integrator *con = static_cast( data ); - con->removeWatch( watch ); - } - - void dbusToggleWatch( DBusWatch*, void* ) - { - //I don't know how to handle this one right now -//#warning "FIXME: implement" - } - - dbus_bool_t dbusAddTimeout( DBusTimeout *timeout, void *data ) - { - Integrator *con = static_cast( data ); - con->addTimeout( timeout ); - return true; - } - - void dbusRemoveTimeout( DBusTimeout *timeout, void *data ) - { - Integrator *con = static_cast( data ); - } - - void dbusToggleTimeout( DBusTimeout *timeout, void *data ) - { - Integrator *con = static_cast( data ); - } - ///////////////////////////////////////////////////////////// } } -- cgit