diff options
author | Zack Rusin <zack@kde.org> | 2003-11-24 19:11:55 +0000 |
---|---|---|
committer | Zack Rusin <zack@kde.org> | 2003-11-24 19:11:55 +0000 |
commit | 27f6dca9ce4680dbbe8dc20a862f5ad63b709609 (patch) | |
tree | f3458e7b3c5a9ad1debfc178c50df26b2f7ba380 /qt/integrator.h | |
parent | 89d43511ec5718823d8faa98246e420af5f26d5a (diff) |
As changelog says. Integration is pretty much there, so dbus should at least
use Qt for timeouts and watches comfortably now.
Diffstat (limited to 'qt/integrator.h')
-rw-r--r-- | qt/integrator.h | 78 |
1 files changed, 25 insertions, 53 deletions
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 <qobject.h> #include <qintdict.h> -#include <qptrlist.h> +#include <qptrdict.h> #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<QtWatch> m_watches; - QPtrList<DBusQtTimeout> m_timeouts; + QIntDict<Watch> m_watches; + QPtrDict<Timeout> 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<Integrator*>( data ); - con->addWatch( watch ); - return true; - } - void dbusRemoveWatch( DBusWatch *watch, void *data ) - { - Integrator *con = static_cast<Integrator*>( 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<Integrator*>( data ); - con->addTimeout( timeout ); - return true; - } - - void dbusRemoveTimeout( DBusTimeout *timeout, void *data ) - { - Integrator *con = static_cast<Integrator*>( data ); - } - - void dbusToggleTimeout( DBusTimeout *timeout, void *data ) - { - Integrator *con = static_cast<Integrator*>( data ); - } - ///////////////////////////////////////////////////////////// } } |