dwww Home | Manual pages | Find package

wl_event_loop(3)                    Wayland                   wl_event_loop(3)

NAME
       wl_event_loop - An event loop context.

SYNOPSIS
       #include <wayland-server-core.h>

   Public Member Functions
       struct wl_event_loop * wl_event_loop_create (void)
       void wl_event_loop_destroy (struct wl_event_loop *loop)
       void wl_event_loop_dispatch_idle (struct wl_event_loop *loop)
       int wl_event_loop_dispatch (struct wl_event_loop *loop, int timeout)
       int wl_event_loop_get_fd (struct wl_event_loop *loop)
       void wl_event_loop_add_destroy_listener (struct wl_event_loop *loop,
           struct wl_listener *listener)
       struct wl_listener * wl_event_loop_get_destroy_listener (struct
           wl_event_loop *loop, wl_notify_func_t notify)

Detailed Description
       An event loop context.

       Usually you create an event loop context, add sources to it, and call
       wl_event_loop_dispatch() in a loop to process events.

       See also
           wl_event_source

Member Function Documentation
   void wl_event_loop_add_destroy_listener (struct wl_event_loop * loop,
       struct wl_listener * listener)
       Register a destroy listener for an event loop context

       Parameters
           loop The event loop context whose destruction to listen for.
           listener The listener with the callback to be called.

       See also
           wl_listener

   struct wl_event_loop * wl_event_loop_create (void)
       Create a new event loop context

       Returns
           A new event loop context object.

       This creates a new event loop context. Initially this context is empty.
       Event sources need to be explicitly added to it.

       Normally the event loop is run by calling wl_event_loop_dispatch() in a
       loop until the program terminates. Alternatively, an event loop can be
       embedded in another event loop by its file descriptor, see
       wl_event_loop_get_fd().

   void wl_event_loop_destroy (struct wl_event_loop * loop)
       Destroy an event loop context

       Parameters
           loop The event loop to be destroyed.

       This emits the event loop destroy signal, closes the event loop file
       descriptor, and frees loop.

       If the event loop has existing sources, those cannot be safely removed
       afterwards. Therefore one must call wl_event_source_remove() on all
       event sources before destroying the event loop context.

   int wl_event_loop_dispatch (struct wl_event_loop * loop, int timeout)
       Wait for events and dispatch them

       Parameters
           loop The event loop whose sources to wait for.
           timeout The polling timeout in milliseconds.

       Returns
           0 for success, -1 for polling (or timer update) error.

       All the associated event sources are polled. This function blocks until
       any event source delivers an event (idle sources excluded), or the
       timeout expires. A timeout of -1 disables the timeout, causing the
       function to block indefinitely. A timeout of zero causes the poll to
       always return immediately.

       All idle sources are dispatched before blocking. An idle source is
       destroyed when it is dispatched. After blocking, all other ready
       sources are dispatched. Then, idle sources are dispatched again, in
       case the dispatched events created idle sources. Finally, all sources
       marked with wl_event_source_check() are dispatched in a loop until
       their dispatch functions all return zero.

   void wl_event_loop_dispatch_idle (struct wl_event_loop * loop)
       Dispatch the idle sources

       Parameters
           loop The event loop whose idle sources are dispatched.

       See also
           wl_event_loop_add_idle()

   struct wl_listener * wl_event_loop_get_destroy_listener (struct
       wl_event_loop * loop, wl_notify_func_t notify)
       Get the listener struct for the specified callback

       Parameters
           loop The event loop context to inspect.
           notify The destroy callback to find.

       Returns
           The wl_listener registered to the event loop context with the given
           callback pointer.

   int wl_event_loop_get_fd (struct wl_event_loop * loop)
       Get the event loop file descriptor

       Parameters
           loop The event loop context.

       Returns
           The aggregate file descriptor.

       This function returns the aggregate file descriptor, that represents
       all the event sources (idle sources excluded) associated with the given
       event loop context. When any event source makes an event available, it
       will be reflected in the aggregate file descriptor.

       When the aggregate file descriptor delivers an event, one can call
       wl_event_loop_dispatch() on the event loop context to dispatch all the
       available events.

Author
       Generated automatically by Doxygen for Wayland from the source code.

Version 1.20.0                  Wed Sep 14 2022               wl_event_loop(3)

Generated by dwww version 1.14 on Fri Jan 24 06:33:11 CET 2025.