Provided by: libwayland-doc_1.16.0-1ubuntu1.1~18.04.4_all bug

NAME

       wl_listener - A single listener for Wayland signals.

SYNOPSIS

       #include <wayland-server-core.h>

   Data Fields
       struct wl_list link
       wl_notify_func_t notify

Detailed Description

       A single listener for Wayland signals.

       wl_listener provides the means to listen for wl_signal notifications. Many Wayland objects
       use wl_listener for notification of significant events like object destruction.

       Clients should create wl_listener objects manually and can register them as listeners to
       signals using wl_signal_add, assuming the signal is directly accessible. For opaque
       structs like wl_event_loop, adding a listener should be done through provided accessor
       methods. A listener can only listen to one signal at a time.

       struct wl_listener your_listener;

       your_listener.notify = your_callback_method;

       // Direct access
       wl_signal_add(&some_object->destroy_signal, &your_listener);

       // Accessor access
       wl_event_loop *loop = ...;
       wl_event_loop_add_destroy_listener(loop, &your_listener);

       If the listener is part of a larger struct, wl_container_of can be used to retrieve a
       pointer to it:

       void your_listener(struct wl_listener *listener, void *data)
       {
               struct your_data *data;

               your_data = wl_container_of(listener, data, your_member_name);
       }

       If you need to remove a listener from a signal, use wl_list_remove().

       wl_list_remove(&your_listener.link);

       See also:
           wl_signal

Field Documentation

   struct wl_list wl_listener::link
   wl_notify_func_t wl_listener::notify

Author

       Generated automatically by Doxygen for Wayland from the source code.