Ardour
9.0-pre0-582-g084a23a80d
|
#include <event_loop.h>
Classes | |
struct | BaseRequestObject |
struct | InvalidationRecord |
struct | RequestBufferSupplier |
struct | ThreadBufferMapping |
Public Types | |
enum | RequestType { range_guarantee = ~0 } |
Public Member Functions | |
EventLoop (std::string const &) | |
virtual | ~EventLoop () |
virtual bool | call_slot (InvalidationRecord *, const std::function< void()> &)=0 |
virtual Glib::Threads::RWLock & | slot_invalidation_rwlock ()=0 |
std::string | event_loop_name () const |
Static Public Member Functions | |
static void * | invalidate_request (void *data) |
static EventLoop * | get_event_loop_for_thread () |
static void | set_event_loop_for_thread (EventLoop *ui) |
static std::vector< ThreadBufferMapping > | get_request_buffers_for_target_thread (const std::string &) |
static void | pre_register (const std::string &emitting_thread_name, uint32_t num_requests) |
static void | remove_request_buffer_from_map (pthread_t) |
static InvalidationRecord * | __invalidator (sigc::trackable &trackable, const char *, int) |
Public Attributes | |
std::list< InvalidationRecord * > | trash |
Private Types | |
typedef std::vector< ThreadBufferMapping > | ThreadRequestBufferList |
typedef std::vector< RequestBufferSupplier > | RequestBufferSuppliers |
Private Attributes | |
std::string | _name |
Static Private Attributes | |
static Glib::Threads::Private< EventLoop > | thread_event_loop |
static ThreadRequestBufferList | thread_buffer_requests |
static Glib::Threads::Mutex | thread_buffer_requests_lock |
static RequestBufferSuppliers | request_buffer_suppliers |
An EventLoop is as basic abstraction designed to be used with any "user interface" (not necessarily graphical) that needs to wait on events/requests and dispatch/process them as they arrive.
This is a very basic class that doesn't by itself provide an actual event loop or thread. See BaseUI for the "real" object to be used when something like this is needed (it inherits from EventLoop).
Definition at line 44 of file event_loop.h.
|
private |
Definition at line 132 of file event_loop.h.
|
private |
Definition at line 115 of file event_loop.h.
Enumerator | |
---|---|
range_guarantee |
Definition at line 50 of file event_loop.h.
PBD::EventLoop::EventLoop | ( | std::string const & | ) |
|
virtual |
|
static |
|
pure virtual |
|
inline |
Definition at line 92 of file event_loop.h.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
pure virtual |
Implemented in AbstractUI< RequestObject >, AbstractUI< WiimoteControlUIRequest >, AbstractUI< BaseUI::BaseRequestObject >, AbstractUI< US2400ControlUIRequest >, AbstractUI< Maschine2Request >, AbstractUI< OSCUIRequest >, AbstractUI< CC121Request >, AbstractUI< TestUIRequest >, AbstractUI< MidiSurfaceRequest >, AbstractUI< UIRequest >, AbstractUI< GenericMIDIRequest >, AbstractUI< MackieControlUIRequest >, AbstractUI< LaunchControlRequest >, AbstractUI< ContourDesignControlUIRequest >, AbstractUI< ArdourWebsocketsUIRequest >, AbstractUI< FaderPort8Request >, and AbstractUI< MidiUIRequest >.
|
private |
Definition at line 113 of file event_loop.h.
|
staticprivate |
Definition at line 133 of file event_loop.h.
|
staticprivate |
Definition at line 116 of file event_loop.h.
|
staticprivate |
Definition at line 117 of file event_loop.h.
|
staticprivate |
Definition at line 112 of file event_loop.h.
std::list<InvalidationRecord*> PBD::EventLoop::trash |
Definition at line 107 of file event_loop.h.