| VLC
    3.0.18
    | 

Go to the source code of this file.
| Typedefs | |
| typedef enum vlc_event_type_t | vlc_event_type_t | 
| typedef struct vlc_event_listeners_group_t | vlc_event_listeners_group_t | 
| typedef struct vlc_event_manager_t | vlc_event_manager_t | 
| typedef struct vlc_event_t | vlc_event_t | 
| typedef void(* | vlc_event_callback_t) (const vlc_event_t *, void *) | 
| Functions | |
| void | vlc_event_manager_init (vlc_event_manager_t *p_em, void *p_obj) | 
| Initialize event manager object p_obj is the object that contains the event manager.  More... | |
| void | vlc_event_manager_fini (vlc_event_manager_t *p_em) | 
| Destroy the event manager.  More... | |
| void | vlc_event_send (vlc_event_manager_t *p_em, vlc_event_t *) | 
| Send an event to the listener attached to this p_em.  More... | |
| int | vlc_event_attach (vlc_event_manager_t *p_event_manager, vlc_event_type_t event_type, vlc_event_callback_t pf_callback, void *p_user_data) | 
| Add a callback for an event.  More... | |
| void | vlc_event_detach (vlc_event_manager_t *p_event_manager, vlc_event_type_t event_type, vlc_event_callback_t pf_callback, void *p_user_data) | 
| Remove a callback for an event.  More... | |
This file is the interface definition for events (implementation in src/misc/events.c)
| typedef void( * vlc_event_callback_t) (const vlc_event_t *, void *) | 
| typedef struct vlc_event_listeners_group_t vlc_event_listeners_group_t | 
| typedef struct vlc_event_manager_t vlc_event_manager_t | 
| typedef struct vlc_event_t vlc_event_t | 
| typedef enum vlc_event_type_t vlc_event_type_t | 
| enum vlc_event_type_t | 
| int vlc_event_attach | ( | vlc_event_manager_t * | p_event_manager, | 
| vlc_event_type_t | event_type, | ||
| vlc_event_callback_t | pf_callback, | ||
| void * | p_user_data | ||
| ) | 
Add a callback for an event.
< Not enough memory
< No error
References ARRAY_APPEND, vlc_event_manager_t::events, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::lock, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, VLC_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by playlist_ItemNewFromInput().
| void vlc_event_detach | ( | vlc_event_manager_t * | p_event_manager, | 
| vlc_event_type_t | event_type, | ||
| vlc_event_callback_t | pf_callback, | ||
| void * | p_user_data | ||
| ) | 
Remove a callback for an event.
References ARRAY_REMOVE, vlc_event_manager_t::events, FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::lock, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, vlc_assert_unreachable, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by playlist_ItemRelease().
| void vlc_event_manager_fini | ( | vlc_event_manager_t * | p_em | ) | 
Destroy the event manager.
Referenced by input_item_Release().
| void vlc_event_manager_init | ( | vlc_event_manager_t * | p_em, | 
| void * | p_obj | ||
| ) | 
Initialize event manager object p_obj is the object that contains the event manager.
But not necessarily a vlc_object_t (an input_item_t is not a vlc_object_t for instance).
References vlc_event_manager_t::lock, vlc_event_manager_t::p_obj, and vlc_mutex_init_recursive().
Referenced by input_item_NewExt().
| void vlc_event_send | ( | vlc_event_manager_t * | p_em, | 
| vlc_event_t * | |||
| ) | 
Send an event to the listener attached to this p_em.
Referenced by input_item_AddInfo(), input_item_DelInfo(), input_item_MergeInfos(), input_item_node_PostAndDelete(), input_item_SetDuration(), input_item_SetEpg(), input_item_SetEpgEvent(), input_item_SetEpgOffline(), input_item_SetMeta(), and input_item_SetPreparsed().
 1.8.16
 1.8.16