diff options
Diffstat (limited to 'include/dbus-c++/eventloop.h')
-rw-r--r-- | include/dbus-c++/eventloop.h | 181 |
1 files changed, 115 insertions, 66 deletions
diff --git a/include/dbus-c++/eventloop.h b/include/dbus-c++/eventloop.h index 5b1b808..53f90a7 100644 --- a/include/dbus-c++/eventloop.h +++ b/include/dbus-c++/eventloop.h @@ -31,7 +31,8 @@ #include "api.h" #include "util.h" -namespace DBus { +namespace DBus +{ /* * these Default *classes implement a very simple event loop which @@ -46,38 +47,62 @@ class DXXAPI DefaultTimeout { public: - DefaultTimeout(int interval, bool repeat, DefaultMainLoop *); - - virtual ~DefaultTimeout(); - - bool enabled(){ return _enabled; } - void enabled(bool e){ _enabled = e; } - - int interval(){ return _interval; } - void interval(int i){ _interval = i; } + DefaultTimeout(int interval, bool repeat, DefaultMainLoop *); + + virtual ~DefaultTimeout(); + + bool enabled() + { + return _enabled; + } + void enabled(bool e) + { + _enabled = e; + } + + int interval() + { + return _interval; + } + void interval(int i) + { + _interval = i; + } + + bool repeat() + { + return _repeat; + } + void repeat(bool r) + { + _repeat = r; + } + + void *data() + { + return _data; + } + void data(void *d) + { + _data = d; + } + + Slot<void, DefaultTimeout &> expired; - bool repeat(){ return _repeat; } - void repeat(bool r){ _repeat = r; } - - void *data(){ return _data; } - void data(void *d){ _data = d; } - - Slot<void, DefaultTimeout &> expired; - private: - bool _enabled; + bool _enabled; + + int _interval; + bool _repeat; - int _interval; - bool _repeat; + double _expiration; - double _expiration; + void *_data; - void *_data; - - DefaultMainLoop *_disp; + DefaultMainLoop *_disp; -friend class DefaultMainLoop; + friend class DefaultMainLoop; }; typedef std::list< DefaultTimeout *> DefaultTimeouts; @@ -86,38 +111,62 @@ class DXXAPI DefaultWatch { public: - DefaultWatch(int fd, int flags, DefaultMainLoop *); - - virtual ~DefaultWatch(); - - bool enabled(){ return _enabled; } - void enabled(bool e){ _enabled = e; } - - int descriptor(){ return _fd; } - - int flags(){ return _flags; } - void flags(int f){ _flags = f; } - - int state(){ return _state; } - - void *data(){ return _data; } - void data(void *d){ _data = d; } - - Slot<void, DefaultWatch &> ready; + DefaultWatch(int fd, int flags, DefaultMainLoop *); + + virtual ~DefaultWatch(); + + bool enabled() + { + return _enabled; + } + void enabled(bool e) + { + _enabled = e; + } + + int descriptor() + { + return _fd; + } + + int flags() + { + return _flags; + } + void flags(int f) + { + _flags = f; + } + + int state() + { + return _state; + } + + void *data() + { + return _data; + } + void data(void *d) + { + _data = d; + } + + Slot<void, DefaultWatch &> ready; private: - bool _enabled; + bool _enabled; - int _fd; - int _flags; - int _state; + int _fd; + int _flags; + int _state; - void *_data; + void *_data; - DefaultMainLoop *_disp; + DefaultMainLoop *_disp; -friend class DefaultMainLoop; + friend class DefaultMainLoop; }; typedef std::list< DefaultWatch *> DefaultWatches; @@ -135,40 +184,40 @@ public: * Constructor * \param recursive Set if Mutex should be recursive or not. */ - DefaultMutex(bool recursive); + DefaultMutex(bool recursive); - ~DefaultMutex(); + ~DefaultMutex(); - void lock(); + void lock(); - void unlock(); + void unlock(); private: - pthread_mutex_t _mutex; + pthread_mutex_t _mutex; }; class DXXAPI DefaultMainLoop { public: - DefaultMainLoop(); + DefaultMainLoop(); - virtual ~DefaultMainLoop(); + virtual ~DefaultMainLoop(); - virtual void dispatch(); + virtual void dispatch(); - int _fdunlock[2]; + int _fdunlock[2]; private: - DefaultMutex _mutex_t; - DefaultTimeouts _timeouts; + DefaultMutex _mutex_t; + DefaultTimeouts _timeouts; - DefaultMutex _mutex_w; - DefaultWatches _watches; + DefaultMutex _mutex_w; + DefaultWatches _watches; -friend class DefaultTimeout; -friend class DefaultWatch; + friend class DefaultTimeout; + friend class DefaultWatch; }; } /* namespace DBus */ |