VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Typedefs | Functions
events.c File Reference
Include dependency graph for events.c:

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 Documentation

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

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 
)
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 
)
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 
)

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 
)
void vlc_event_send ( vlc_event_manager_t p_em,
vlc_event_t p_event 
)