|
Ardour
9.2-79-gba93f2fe52
|
#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 PBD::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 PBD::Private< EventLoop > | thread_event_loop |
| static ThreadRequestBufferList | thread_buffer_requests |
| static PBD::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 50 of file event_loop.h.
|
private |
Definition at line 138 of file event_loop.h.
|
private |
Definition at line 121 of file event_loop.h.
| Enumerator | |
|---|---|
| range_guarantee | |
Definition at line 56 of file event_loop.h.
| PBD::EventLoop::EventLoop | ( | std::string const & | ) |
|
virtual |
|
static |
|
pure virtual |
|
inline |
Definition at line 98 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 119 of file event_loop.h.
|
staticprivate |
Definition at line 139 of file event_loop.h.
|
staticprivate |
Definition at line 122 of file event_loop.h.
|
staticprivate |
Definition at line 123 of file event_loop.h.
|
staticprivate |
Definition at line 118 of file event_loop.h.
| std::list<InvalidationRecord*> PBD::EventLoop::trash |
Definition at line 113 of file event_loop.h.