Struct smithay_client_toolkit::WaylandSource [−][src]
pub struct WaylandSource { /* fields omitted */ }Expand description
An adapter to insert a Wayland EventQueue into a calloop event loop
This is a struct that implements calloop::EventSource. It generates an
event whenever events need to be dispatched. At this point your calloop callback
will be given access to the EventQueue and you should call .dispatch_pending()
and forward its return value, allowing you to handle orphan events as you prefer.
If you don’t use orphan events, the quick_insert method will firectly
insert the source into a provided LoopHandle with an adapter which will panic
whenever an oprhan event is encountered.
Implementations
Wrap an EventQueue as a WaylandSource.
pub fn quick_insert<Data: 'static>(
self,
handle: LoopHandle<Data>
) -> Result<Source<WaylandSource>, InsertError<WaylandSource>>
pub fn quick_insert<Data: 'static>(
self,
handle: LoopHandle<Data>
) -> Result<Source<WaylandSource>, InsertError<WaylandSource>>
Insert this source into given event loop with an adapter that panics on orphan events
Access the underlying event queue
This method can be used if you need to access the underlying EventQueue while this
WaylandSource is currently inserted in an event loop.
Note that you should be careful when interacting with it if you invoke methods that
interact with the wayland socket (such as dispatch() or prepare_read()). These may
interefere with the proper waking up of this event source in the event loop.
