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 ); -    } -    /////////////////////////////////////////////////////////////    }  }  | 
