| Rapicorn - Experimental UI Toolkit - Source Code
    13.07.0
    | 
EventLoop source for callback execution. More...
#include <loop.hh>
Inherits Rapicorn::ReferenceCountable.
Inherited by Rapicorn::AppSource, Rapicorn::EventLoop::DispatcherSource [virtual], Rapicorn::EventLoop::PollFDSource [virtual], Rapicorn::EventLoop::TimedSource [virtual], and Rapicorn::ServerConnectionSource [virtual].
| Public Member Functions | |
| virtual bool | prepare (const State &state, int64 *timeout_usecs_p)=0 | 
| Prepare the source for dispatching (true return) or polling (false). | |
| virtual bool | check (const State &state)=0 | 
| Check the source and its PollFD descriptors for dispatching (true return). | |
| virtual bool | dispatch (const State &state)=0 | 
| Dispatch source, returns if it should be kept alive. | |
| virtual void | destroy () | 
| bool | recursion () const | 
| Indicates wether the source is currently in recursion. | |
| bool | may_recurse () const | 
| Indicates if this source may recurse. | |
| void | may_recurse (bool may_recurse) | 
| Dispatch this source if its running recursively. | |
| bool | primary () const | 
| Indicate whether this source is primary. | |
| void | primary (bool is_primary) | 
| Set whether this source prevents its loop from exiting. | |
| void | add_poll (PollFD *const pfd) | 
| Add a PollFD descriptors for poll(2) and check(). | |
| void | remove_poll (PollFD *const pfd) | 
| Remove a previously added PollFD. | |
| void | loop_remove () | 
| Remove this source from its event loop if any. | |
| MainLoop * | main_loop () const | 
| Get the main loop for this source. | |
| Protected Member Functions | |
| uint | n_pfds () | 
| uint | source_id () | 
| Protected Attributes | |
| EventLoop * | loop_ | 
| struct { | |
| PollFD * pfd | |
| uint idx | |
| } | pfds_ | 
| uint | id_ | 
| int | priority_ | 
| uint16 | loop_state_ | 
| uint | may_recurse_: 1 | 
| uint | dispatching_: 1 | 
| uint | was_dispatching_: 1 | 
| uint | primary_: 1 | 
EventLoop source for callback execution.
 1.7.6.1
 1.7.6.1