![]() |
Ardour
8.12
|
#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 boost::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 47 of file event_loop.h.
|
private |
Definition at line 135 of file event_loop.h.
|
private |
Definition at line 118 of file event_loop.h.
Enumerator | |
---|---|
range_guarantee |
Definition at line 53 of file event_loop.h.
PBD::EventLoop::EventLoop | ( | std::string const & | ) |
|
virtual |
|
static |
|
pure virtual |
|
inline |
Definition at line 95 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 116 of file event_loop.h.
|
staticprivate |
Definition at line 136 of file event_loop.h.
|
staticprivate |
Definition at line 119 of file event_loop.h.
|
staticprivate |
Definition at line 120 of file event_loop.h.
|
staticprivate |
Definition at line 115 of file event_loop.h.
std::list<InvalidationRecord*> PBD::EventLoop::trash |
Definition at line 110 of file event_loop.h.