This file is the interface definition for events (implementation in src/misc/events.c). More...

Go to the source code of this file.
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_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 |
| VLC_API 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.
References ARRAY_APPEND, vlc_event_listeners_group_t::event_type, FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by install_input_item_observer(), playlist_MLLoad(), and playlist_ServicesDiscoveryAdd().
| VLC_API 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_listeners_group_t::b_sublistener_removed, vlc_event_manager_t::event_sending_lock, vlc_event_listeners_group_t::event_type, FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by playlist_MLLoad(), playlist_ServicesDiscoveryRemove(), and uninstall_input_item_observer().
| VLC_API void vlc_event_manager_fini | ( | vlc_event_manager_t * | p_em | ) |
Destroy the event manager.
References ARRAY_RESET, vlc_event_manager_t::event_sending_lock, FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, and vlc_mutex_destroy().
Referenced by input_item_Clean(), and services_discovery_Destructor().
| VLC_API int 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 ARRAY_INIT, vlc_event_manager_t::event_sending_lock, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, vlc_event_manager_t::p_obj, vlc_mutex_init(), and vlc_mutex_init_recursive().
Referenced by input_item_NewWithType(), and vlc_sd_Create().
| VLC_API int vlc_event_manager_register_event_type | ( | vlc_event_manager_t * | p_em, | |
| vlc_event_type_t | ||||
| ) |
Register the event manager.
References ARRAY_APPEND, ARRAY_INIT, vlc_event_listeners_group_t::event_type, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_NewWithType(), and vlc_sd_Create().
| VLC_API void vlc_event_send | ( | vlc_event_manager_t * | p_em, | |
| vlc_event_t * | ||||
| ) |
Send an event to the listener attached to this p_em.
References vlc_event_listeners_group_t::b_sublistener_removed, vlc_event_manager_t::event_sending_lock, vlc_event_listeners_group_t::event_type, FOREACH_ARRAY, FOREACH_END, group_contains_listener(), vlc_event_listeners_group_t::i_size, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, vlc_event_manager_t::object_lock, vlc_event_manager_t::p_obj, vlc_event_t::p_obj, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, vlc_event_t::type, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_AddInfo(), input_item_DelInfo(), input_item_MergeInfos(), input_item_node_PostAndDelete(), input_item_ReplaceInfos(), input_item_SetDuration(), input_item_SetEpg(), input_item_SetEpgOffline(), input_item_SetErrorWhenReading(), input_item_SetMeta(), input_item_SetPreparsed(), input_SendEventMeta(), input_SendEventMetaInfo(), input_SendEventMetaName(), post_subitems(), services_discovery_AddItem(), services_discovery_RemoveItem(), vlc_sd_Start(), and vlc_sd_Stop().
1.7.1