X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=873b73cd9d63af7d906a3ad1b194f9e063f7647b;hb=7b6dc5d928a0d62bc71cf1b52318b9a833720add;hp=046c90199446625f2a5f6377fd32de65975daf1b;hpb=094cdf1403bf562dcbed008196276f747258dea4;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 046c901994..873b73cd9d 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -42,15 +42,9 @@ extern void vlc_DeinitActions (libvlc_int_t *); * OS-specific initialization */ void system_Init ( libvlc_int_t *, int *, const char *[] ); -void system_Configure ( libvlc_int_t *, int *, const char *[] ); +void system_Configure ( libvlc_int_t *, int, const char *const [] ); void system_End ( libvlc_int_t * ); -/* - * Legacy object stuff that is still used within libvlccore (only) - */ -void vlc_object_detach (vlc_object_t *); -#define vlc_object_detach( o ) vlc_object_detach(VLC_OBJECT(o)) - /* * Threads subsystem */ @@ -93,13 +87,26 @@ void msg_Destroy (msg_bank_t *); void msg_StackSet ( int, const char*, ... ); void msg_StackAdd ( const char*, ... ); const char* msg_StackMsg ( void ); -void msg_StackDestroy (void *); /* * Unicode stuff */ char *vlc_fix_readdir (const char *); +/* + * LibVLC exit event handling + */ +typedef struct vlc_exit +{ + vlc_mutex_t lock; + void (*handler) (void *); + void *opaque; + bool killed; +} vlc_exit_t; + +void vlc_ExitInit( vlc_exit_t * ); +void vlc_ExitDestroy( vlc_exit_t * ); + /* * LibVLC objects stuff */ @@ -168,7 +175,6 @@ struct vlc_object_internals vlc_object_internals_t *next; /* next sibling */ vlc_object_internals_t *prev; /* previous sibling */ vlc_object_internals_t *first; /* first child */ - vlc_object_t *old_parent; }; #define ZOOM_SECTION N_("Zoom") @@ -218,6 +224,9 @@ typedef struct libvlc_priv_t /* Objects tree */ vlc_mutex_t structure_lock; + + /* Exit callback */ + vlc_exit_t exit; } libvlc_priv_t; static inline libvlc_priv_t *libvlc_priv (libvlc_int_t *libvlc)