wl_signal - Man Page

A source of a type of observable event.


#include <wayland-server-core.h>

Public Member Functions

static void wl_signal_init (struct wl_signal *signal)
static void wl_signal_add (struct wl_signal *signal, struct wl_listener *listener)
static struct wl_listener * wl_signal_get (struct wl_signal *signal, wl_notify_func_t notify)
static void wl_signal_emit (struct wl_signal *signal, void *data)

Data Fields

struct wl_list listener_list

Detailed Description

A source of a type of observable event.

Signals are recognized points where significant events can be observed. Compositors as well as the server can provide signals. Observers are wl_listener's that are added through wl_signal_add. Signals are emitted using wl_signal_emit, which will invoke all listeners until that listener is removed by wl_list_remove() (or whenever the signal is destroyed).

See also

wl_listener for more information on using wl_signal

Member Function Documentation

static void wl_signal_add (struct wl_signal * signal, struct wl_listener * listener) [inline]

Add the specified listener to this signal.


signal The signal that will emit events to the listener
listener The listener to add

static void wl_signal_emit (struct wl_signal * signal, void * data) [inline]

Emits this signal, notifying all registered listeners.


signal The signal object that will emit the signal
data The data that will be emitted with the signal

static struct wl_listener * wl_signal_get (struct wl_signal * signal, wl_notify_func_t notify) [inline]

Gets the listener struct for the specified callback.


signal The signal that contains the specified listener
notify The listener that is the target of this search


the list item that corresponds to the specified listener, or NULL if none was found

static void wl_signal_init (struct wl_signal * signal) [inline]

Initialize a new wl_signal for use.


signal The signal that will be initialized

Field Documentation

struct wl_list wl_signal::listener_list


Generated automatically by Doxygen for Wayland from the source code.


Sat Jan 8 2022 Version 1.20.0 Wayland