|
VLC
2.1.0-git
|

Data Structures | |
| struct | vlc_event_listener_t |
| struct | vlc_event_listeners_group_t |
Typedefs | |
| typedef struct vlc_event_listener_t | vlc_event_listener_t |
| typedef struct vlc_event_listeners_group_t | 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) |
| 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) |
| Add a callback for an event. | |
| void | 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. | |
| typedef struct vlc_event_listener_t vlc_event_listener_t |
| typedef struct vlc_event_listeners_group_t vlc_event_listeners_group_t |
|
static |
References FOREACH_ARRAY, FOREACH_END, vlc_event_listeners_group_t::listeners, and listeners_are_equal().
Referenced by vlc_event_send().
|
static |
Referenced by group_contains_listener().
| 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 | ||
| ) |
Add a callback for an event.
< Not enough memory
< No error
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_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by install_input_item_observer(), playlist_MLLoad(), and playlist_ServicesDiscoveryAdd().
| void 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, 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().
| 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_Release(), and services_discovery_Destructor().
| 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).
< No error
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(), vlc_mutex_init_recursive(), and VLC_SUCCESS.
Referenced by input_item_NewWithType(), and vlc_sd_Create().
| int vlc_event_manager_register_event_type | ( | vlc_event_manager_t * | p_em, |
| vlc_event_type_t | event_type | ||
| ) |
Register the event manager.
< Not enough memory
< No error
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_NewWithType(), 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(), 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_RemoveAll(), services_discovery_RemoveItem(), vlc_sd_Start(), and vlc_sd_Stop().
1.8.1.2