21#ifndef VLC_PLAYLIST_NOTIFY_H
22#define VLC_PLAYLIST_NOTIFY_H
42#define vlc_playlist_listener_foreach(listener, playlist) \
43 vlc_list_foreach(listener, &(playlist)->listeners, node)
45#define vlc_playlist_NotifyListener(playlist, listener, event, ...) \
47 if (listener->cbs->event) \
48 listener->cbs->event(playlist, ##__VA_ARGS__, listener->userdata); \
51#define vlc_playlist_Notify(playlist, event, ...) \
53 vlc_playlist_AssertLocked(playlist); \
54 vlc_playlist_listener_id *listener; \
55 vlc_playlist_listener_foreach(listener, playlist) \
56 vlc_playlist_NotifyListener(playlist, listener, event, ##__VA_ARGS__); \
static thread_local struct @81 state
void vlc_playlist_state_Save(vlc_playlist_t *playlist, struct vlc_playlist_state *state)
Definition: notify.c:82
void vlc_playlist_state_NotifyChanges(vlc_playlist_t *playlist, struct vlc_playlist_state *saved_state)
Definition: notify.c:91
void vlc_playlist_NotifyMediaUpdated(vlc_playlist_t *playlist, input_item_t *media)
Definition: notify.c:113
Doubly-linked list node.
Definition: vlc_list.h:44
Playlist callbacks.
Definition: vlc_playlist.h:167
void * userdata
Definition: notify.h:32
struct vlc_list node
node of vlc_playlist.listeners
Definition: notify.h:33
const struct vlc_playlist_callbacks * cbs
Definition: notify.h:31
ssize_t current
Definition: notify.h:37
bool has_prev
Definition: notify.h:38
bool has_next
Definition: notify.h:39
Definition: playlist.h:49
This file is a collection of common definitions and types.
This provides convenience helpers for linked lists.