
Data Structures | |
| struct | vlc_event_listener_t |
| struct | vlc_event_listeners_group_t |
Functions | |
| static bool | listeners_are_equal (vlc_event_listener_t *listener1, vlc_event_listener_t *listener2) |
| static bool | group_contains_listener (vlc_event_listeners_group_t *group, vlc_event_listener_t *searched_listener) |
| int | vlc_event_manager_init (vlc_event_manager_t *p_em, void *p_obj, vlc_object_t *p_parent_obj) |
| Initialize event manager object p_obj is the object that contains the event manager. | |
| void | vlc_event_manager_fini (vlc_event_manager_t *p_em) |
| Destroy the event manager. | |
| int | vlc_event_manager_register_event_type (vlc_event_manager_t *p_em, vlc_event_type_t event_type) |
| Register the event manager. | |
| void | vlc_event_send (vlc_event_manager_t *p_em, vlc_event_t *p_event) |
| Send an event to the listener attached to this p_em. | |
| int | vlc_event_attach (vlc_event_manager_t *p_em, vlc_event_type_t event_type, vlc_event_callback_t pf_callback, void *p_user_data, const char *psz_debug_name) |
| Add a callback for an event. | |
| int | vlc_event_detach (vlc_event_manager_t *p_em, vlc_event_type_t event_type, vlc_event_callback_t pf_callback, void *p_user_data) |
| Remove a callback for an event. | |
| static bool group_contains_listener | ( | vlc_event_listeners_group_t * | group, | |
| vlc_event_listener_t * | searched_listener | |||
| ) | [static] |
References FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, and listeners_are_equal().
| static bool listeners_are_equal | ( | vlc_event_listener_t * | listener1, | |
| vlc_event_listener_t * | listener2 | |||
| ) | [static] |
References vlc_event_listener_t::p_user_data, and vlc_event_listener_t::pf_callback.
| int vlc_event_attach | ( | vlc_event_manager_t * | p_em, | |
| vlc_event_type_t | event_type, | |||
| vlc_event_callback_t | pf_callback, | |||
| void * | p_user_data, | |||
| const char * | psz_debug_name | |||
| ) |
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, msg_Dbg, msg_Err, vlc_event_manager_t::object_lock, vlc_event_manager_t::p_parent_object, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, strdup(), VLC_EGENERIC, VLC_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
| int vlc_event_detach | ( | vlc_event_manager_t * | p_em, | |
| 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, msg_Dbg, msg_Warn, vlc_event_manager_t::object_lock, vlc_event_manager_t::p_parent_object, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by Control(), libvlc_media_discoverer_release(), playlist_MLLoad(), playlist_ServicesDiscoveryRemove(), Run(), and uninstall_input_item_observer().
| 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().
| int vlc_event_manager_init | ( | vlc_event_manager_t * | p_em, | |
| void * | p_obj, | |||
| vlc_object_t * | p_parent_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). p_parent_obj gives a libvlc 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_event_manager_t::p_parent_object, vlc_mutex_init(), vlc_mutex_init_recursive(), and VLC_SUCCESS.
| int vlc_event_manager_register_event_type | ( | vlc_event_manager_t * | p_em, | |
| vlc_event_type_t | event_type | |||
| ) |
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_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by input_item_Init(), and vlc_sd_Create().
| void vlc_event_send | ( | vlc_event_manager_t * | p_em, | |
| vlc_event_t * | p_event | |||
| ) |
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(), i, vlc_event_listeners_group_t::i_size, vlc_event_listeners_group_t::listeners, vlc_event_manager_t::listeners_groups, msg_Dbg, vlc_event_manager_t::object_lock, vlc_event_manager_t::p_obj, vlc_event_t::p_obj, vlc_event_manager_t::p_parent_object, vlc_event_listener_t::p_user_data, vlc_event_listener_t::pf_callback, strdup(), 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.5.6