events.c File Reference

Include dependency graph for events.c:


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.

Function Documentation

static bool group_contains_listener ( vlc_event_listeners_group_t group,
vlc_event_listener_t searched_listener 
) [static]

static bool listeners_are_equal ( vlc_event_listener_t listener1,
vlc_event_listener_t listener2 
) [static]

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 
)

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 
)

void vlc_event_manager_fini ( vlc_event_manager_t p_em  ) 

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 
)

void vlc_event_send ( vlc_event_manager_t p_em,
vlc_event_t p_event 
)


Generated on Tue May 25 08:05:35 2010 for VLC by  doxygen 1.5.6