Go to the documentation of this file.
25 #ifndef __DBUSXX_DISPATCHER_H
26 #define __DBUSXX_DISPATCHER_H
75 virtual void toggle() = 0;
104 int descriptor()
const;
118 bool enabled()
const;
138 bool handle(
int flags);
140 virtual void toggle() = 0;
160 void dispatch_pending();
161 bool has_something_to_dispatch();
163 virtual void enter() = 0;
165 virtual void leave() = 0;
167 virtual Timeout *add_timeout(Timeout::Internal *) = 0;
169 virtual void rem_timeout(
Timeout *) = 0;
171 virtual Watch *add_watch(Watch::Internal *) = 0;
173 virtual void rem_watch(
Watch *) = 0;
197 virtual void lock() = 0;
199 virtual void unlock() = 0;
214 virtual void wait(
Mutex *) = 0;
216 virtual bool wait_timeout(
Mutex *,
int timeout) = 0;
218 virtual void wake_one() = 0;
220 virtual void wake_all() = 0;
232 #ifndef DBUS_HAS_RECURSIVE_MUTEX
238 #endif//DBUS_HAS_RECURSIVE_MUTEX
254 template<
class Mx,
class Cv>
270 #ifndef DBUS_HAS_RECURSIVE_MUTEX
332 #endif//__DBUSXX_DISPATCHER_H
void(* CondVarWaitFn)(CondVar *cv, Mutex *mx)
static bool mutex_lock(Mutex *mx)
std::list< Private * > PrivatePList
void(* CondVarWakeOneFn)(CondVar *cv)
virtual void wake_one()=0
static void condvar_free(CondVar *cv)
Connection::PrivatePList _pending_queue
void(* CondVarWakeAllFn)(CondVar *cv)
static Mutex * mutex_new()
virtual bool wait_timeout(Mutex *, int timeout)=0
void(* CondVarFreeFn)(CondVar *cv)
static void condvar_wake_one(CondVar *cv)
bool(* MutexFreeFn)(Mutex *mx)
static CondVar * condvar_new()
static bool mutex_free(Mutex *mx)
void(* MutexUnlockFn)(Mutex *mx)
DefaultMutex _mutex_p_copy
static void condvar_wake_all(CondVar *cv)
virtual void wake_all()=0
CondVar *(* CondVarNewFn)()
DXXAPI Dispatcher * default_dispatcher
static void mutex_unlock(Mutex *mx)
Private(DBusConnection *, Server::Private *=NULL)
bool(* MutexLockFn)(Mutex *mx)
void DXXAPI _init_threading()
static bool condvar_wait_timeout(CondVar *cv, Mutex *mx, int timeout)
virtual void wait(Mutex *)=0
static void condvar_wait(CondVar *cv, Mutex *mx)
bool(* CondVarWaitTimeoutFn)(CondVar *cv, Mutex *mx, int timeout)