20 #ifndef __pbd_event_loop_h__
21 #define __pbd_event_loop_h__
23 #include <boost/function.hpp>
24 #include <boost/bind.hpp>
25 #include <glibmm/threads.h>
51 struct BaseRequestObject;
62 static void* invalidate_request (
void* data);
73 virtual void call_slot (InvalidationRecord*,
const boost::function<
void()>&) = 0;
74 virtual Glib::Threads::Mutex& slot_invalidation_mutex() = 0;
76 static EventLoop* get_event_loop_for_thread();
77 static void set_event_loop_for_thread (
EventLoop*
ui);
86 #define MISSING_INVALIDATOR 0 // used to mark places where we fail to provide an invalidator
InvalidationRecord * invalidation
boost::function< void()> the_slot
static Glib::Threads::Private< EventLoop > thread_event_loop
std::list< BaseRequestObject * > requests
PBD::EventLoop * event_loop