
Go to the source code of this file.
| #define vlc_event_attach | ( | a, | |||
| b, | |||||
| c, | |||||
| d | ) | __vlc_event_attach(a, b, c, d, #c) |
| #define vlc_event_manager_init | ( | a, | |||
| b, | |||||
| c | ) | __vlc_event_manager_init(a, b, VLC_OBJECT(c)) |
Referenced by input_item_Init(), and vlc_sd_Create().
| #define vlc_event_manager_init_with_vlc_object | ( | a, | |||
| b | ) | vlc_event_manager_init( a, b, b ) |
| typedef void( * vlc_event_callback_t)(const vlc_event_t *, void *) |
| 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, | |||
| 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_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_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, 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 AddSubitemsOfShoutItemURL(), 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_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_AddSubItem(), input_item_DelInfo(), input_item_SetDuration(), input_item_SetEpg(), input_item_SetEpgOffline(), input_item_SetErrorWhenReading(), input_item_SetMeta(), input_item_SetPreparsed(), input_SendEventMeta(), input_SendEventMetaInfo(), input_SendEventMetaName(), services_discovery_AddItem(), services_discovery_RemoveItem(), vlc_sd_Start(), and vlc_sd_Stop().
1.5.6