* 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
*/
*/
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
*/
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")
/* 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)