|
Rapicorn - Experimental UI Toolkit - Source Code
13.07.0
|
An EventLoop implementation that offers public API for running the loop. More...
#include <loop.hh>
Inherits Rapicorn::EventLoop.
Public Member Functions | |
| int | run () |
| Run loop iterations until a call to quit() or finishable becomes true. | |
| bool | running () |
| Indicates if quit() has been called already. | |
| void | quit (int quit_code=0) |
| Cause run() to return with quit_code. | |
| bool | finishable () |
| Indicates wether this loop has no primary sources left to process. | |
| bool | iterate (bool block) |
| Perform one loop iteration and return whether more iterations are needed. | |
| void | iterate_pending () |
| Call iterate() until no immediate dispatching is needed. | |
| void | kill_loops () |
| Kill all sources in this loop and all slave loops. | |
| EventLoop * | new_slave () |
| Creates a new slave loop that is run as part of this main loop. | |
| Mutex & | mutex () |
| Provide access to the mutex associated with this main loop. | |
Static Public Member Functions | |
| static MainLoop * | _new () |
| Creates a new main loop object, users can run or iterate this loop directly. | |
An EventLoop implementation that offers public API for running the loop.
| bool Rapicorn::MainLoop::iterate | ( | bool | may_block | ) |
Perform one loop iteration and return whether more iterations are needed.
| may_block | If true, iterate() will wait for events occour. |
MainLoop::iterate() is the heart of the main event loop. For loop iteration, all event sources are polled for incoming events. Then dispatchable sources are picked one per iteration and dispatched in round-robin fashion. If no sources need immediate dispatching and may_block is true, iterate() will wait for events to become available.
| Mutex& Rapicorn::MainLoop::mutex | ( | ) | [inline] |
Provide access to the mutex associated with this main loop.
1.7.6.1