vlc_events.h File Reference

This file is the interface definition for events (implementation in src/misc/events.c). More...

Include dependency graph for vlc_events.h:

Go to the source code of this file.

Data Structures

struct  vlc_event_manager_t
struct  vlc_event_t
union  vlc_event_t::vlc_event_type_specific
struct  vlc_event_t::vlc_event_type_specific::vlc_input_state_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_selected_stream_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_meta_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_subitem_added
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_duration_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_preparsed_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_name_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_input_item_info_changed
struct  vlc_event_t::vlc_event_type_specific::input_item_error_when_reading_changed
struct  vlc_event_t::vlc_event_type_specific::vlc_services_discovery_item_added
struct  vlc_event_t::vlc_event_type_specific::vlc_services_discovery_item_removed
struct  vlc_event_t::vlc_event_type_specific::vlc_services_discovery_started
struct  vlc_event_t::vlc_event_type_specific::vlc_services_discovery_ended

Defines

#define vlc_event_manager_init_with_vlc_object(a, b)   vlc_event_manager_init( a, b, b )
#define vlc_event_manager_init(a, b, c)   __vlc_event_manager_init(a, b, VLC_OBJECT(c))
#define vlc_event_attach(a, b, c, d)   __vlc_event_attach(a, b, c, d, #c)

Typedefs

typedef void(*) vlc_event_callback_t (const vlc_event_t *, void *)

Enumerations

enum  vlc_event_type_t {
  vlc_InputStateChanged, vlc_InputSelectedStreamChanged, vlc_InputItemMetaChanged, vlc_InputItemSubItemAdded,
  vlc_InputItemDurationChanged, vlc_InputItemPreparsedChanged, vlc_InputItemNameChanged, vlc_InputItemInfoChanged,
  vlc_InputItemErrorWhenReadingChanged, vlc_ServicesDiscoveryItemAdded, vlc_ServicesDiscoveryItemRemoved, vlc_ServicesDiscoveryStarted,
  vlc_ServicesDiscoveryEnded
}

Functions

int __vlc_event_manager_init (vlc_event_manager_t *p_em, void *p_obj, vlc_object_t *)
 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)
 Destroy 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_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.
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.


Detailed Description

This file is the interface definition for events (implementation in src/misc/events.c).


Define Documentation

#define vlc_event_attach ( a,
b,
c,
 )     __vlc_event_attach(a, b, c, d, #c)

#define vlc_event_manager_init ( a,
b,
 )     __vlc_event_manager_init(a, b, VLC_OBJECT(c))

#define vlc_event_manager_init_with_vlc_object ( a,
 )     vlc_event_manager_init( a, b, b )


Typedef Documentation

typedef void( *) vlc_event_callback_t(const vlc_event_t *, void *)


Enumeration Type Documentation

enum vlc_event_type_t

Enumerator:
vlc_InputStateChanged 
vlc_InputSelectedStreamChanged 
vlc_InputItemMetaChanged 
vlc_InputItemSubItemAdded 
vlc_InputItemDurationChanged 
vlc_InputItemPreparsedChanged 
vlc_InputItemNameChanged 
vlc_InputItemInfoChanged 
vlc_InputItemErrorWhenReadingChanged 
vlc_ServicesDiscoveryItemAdded 
vlc_ServicesDiscoveryItemRemoved 
vlc_ServicesDiscoveryStarted 
vlc_ServicesDiscoveryEnded 


Function Documentation

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.

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

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.

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 
)

Destroy 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.


Generated on Wed Aug 13 08:02:42 2008 for VLC by  doxygen 1.5.1