ardour
|
#include <abstract_ui.h>
Classes | |
struct | RequestBuffer |
Public Member Functions | |
AbstractUI (const std::string &name) | |
virtual | ~AbstractUI () |
void | register_thread (std::string, pthread_t, std::string, uint32_t num_requests) |
void | call_slot (EventLoop::InvalidationRecord *, const boost::function< void()> &) |
Glib::Threads::Mutex & | slot_invalidation_mutex () |
Public Member Functions inherited from BaseUI | |
BaseUI (const std::string &name) | |
virtual | ~BaseUI () |
BaseUI * | base_instance () |
Glib::RefPtr< Glib::MainLoop > | main_loop () const |
Glib::Threads::Thread * | event_loop_thread () const |
bool | caller_is_self () const |
std::string | name () const |
bool | ok () const |
void | run () |
void | quit () |
Public Member Functions inherited from PBD::EventLoop | |
EventLoop () | |
virtual | ~EventLoop () |
virtual void | call_slot (InvalidationRecord *, const boost::function< void()> &)=0 |
Public Attributes | |
Glib::Threads::Mutex | request_buffer_map_lock |
Protected Types | |
typedef RequestBuffer::rw_vector | RequestBufferVector |
typedef std::map< pthread_t, RequestBuffer * >::iterator | RequestBufferMapIterator |
typedef std::map< pthread_t, RequestBuffer * > | RequestBufferMap |
Protected Member Functions | |
RequestObject * | get_request (RequestType) |
void | handle_ui_requests () |
void | send_request (RequestObject *) |
virtual void | do_request (RequestObject *)=0 |
Protected Member Functions inherited from BaseUI | |
bool | signal_running () |
virtual void | thread_init () |
bool | request_handler (Glib::IOCondition) |
void | signal_new_request () |
void | attach_request_source () |
Protected Attributes | |
RequestBufferMap | request_buffers |
Glib::Threads::Mutex | request_list_lock |
std::list< RequestObject * > | request_list |
PBD::ScopedConnection | new_thread_connection |
Protected Attributes inherited from BaseUI | |
bool | _ok |
Glib::RefPtr< Glib::MainLoop > | _main_loop |
Glib::RefPtr< Glib::MainContext > | m_context |
Glib::Threads::Thread * | run_loop_thread |
Glib::Threads::Mutex | _run_lock |
Glib::Threads::Cond | _running |
Static Protected Attributes | |
static Glib::Threads::Private < RequestBuffer > | per_thread_request_buffer |
Additional Inherited Members | |
Public Types inherited from PBD::EventLoop | |
enum | RequestType { range_guarantee = ~0 } |
Static Public Member Functions inherited from BaseUI | |
static RequestType | new_request_type () |
Static Public Member Functions inherited from PBD::EventLoop | |
static void * | invalidate_request (void *data) |
static EventLoop * | get_event_loop_for_thread () |
static void | set_event_loop_for_thread (EventLoop *ui) |
Static Public Attributes inherited from BaseUI | |
static RequestType | CallSlot = BaseUI::new_request_type() |
static RequestType | Quit = BaseUI::new_request_type() |
Definition at line 55 of file abstract_ui.h.
|
protected |
Definition at line 90 of file abstract_ui.h.
|
protected |
Definition at line 89 of file abstract_ui.h.
|
protected |
Definition at line 76 of file abstract_ui.h.
AbstractUI< RequestObject >::AbstractUI | ( | const std::string & | name | ) |
Definition at line 65 of file abstract_ui.cc.
|
inlinevirtual |
Definition at line 59 of file abstract_ui.h.
void AbstractUI< RequestObject >::call_slot | ( | EventLoop::InvalidationRecord * | , |
const boost::function< void()> & | |||
) |
Definition at line 368 of file abstract_ui.cc.
|
protectedpure virtual |
Implemented in TestUI.
|
protected |
Definition at line 135 of file abstract_ui.cc.
|
protectedvirtual |
Derived UI objects must implement this method, which will be called whenever there are requests to be dealt with.
Implements BaseUI.
Definition at line 179 of file abstract_ui.cc.
void AbstractUI< RequestObject >::register_thread | ( | std::string | , |
pthread_t | , | ||
std::string | , | ||
uint32_t | num_requests | ||
) |
Definition at line 78 of file abstract_ui.cc.
|
protected |
Definition at line 313 of file abstract_ui.cc.
|
inlinevirtual |
Implements PBD::EventLoop.
Definition at line 63 of file abstract_ui.h.
|
protected |
Definition at line 104 of file abstract_ui.h.
|
staticprotected |
Definition at line 94 of file abstract_ui.h.
Glib::Threads::Mutex AbstractUI< RequestObject >::request_buffer_map_lock |
Definition at line 65 of file abstract_ui.h.
|
protected |
Definition at line 93 of file abstract_ui.h.
|
protected |
Definition at line 97 of file abstract_ui.h.
|
protected |
Definition at line 96 of file abstract_ui.h.