table of contents
wl_listener(3) | Wayland | wl_listener(3) |
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:
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.
Wed Oct 31 2018 | Version 1.15.0 |