* Copyright (C) 2005 the VideoLAN team
* $Id: control_structures.h 13752 2005-12-15 10:14:42Z oaubert $
*
- * Authors: Clément Stenac <zorglub@videolan.org>
+ * Authors: Clément Stenac <zorglub@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <vlc/vlc.h>
+/***************************************************************************
+ * Internal creation and destruction functions
+ ***************************************************************************/
+libvlc_int_t *libvlc_InternalCreate();
+int libvlc_InternalInit( libvlc_int_t *, int, char *ppsz_argv[] );
+int libvlc_InternalCleanup( libvlc_int_t * );
+int libvlc_InternalDestroy( libvlc_int_t *, vlc_bool_t );
+
+int libvlc_InternalAddIntf( libvlc_int_t *, const char *, vlc_bool_t,
+ vlc_bool_t, int, const char *const * );
+
+/***************************************************************************
+ * Opaque structures for libvlc API
+ ***************************************************************************/
+
struct libvlc_instance_t
{
- vlc_t *p_vlc;
- playlist_t *p_playlist;
- int i_vlc_id;
+ libvlc_int_t *p_libvlc_int;
+ vlm_t *p_vlm;
};
struct libvlc_input_t
struct libvlc_instance_t *p_instance; ///< Parent instance
};
+#define RAISENULL( psz,a... ) { libvlc_exception_raise( p_e, psz,##a ); \
+ return NULL; }
+#define RAISEVOID( psz,a... ) { libvlc_exception_raise( p_e, psz,##a ); \
+ return; }
+#define RAISEZERO( psz,a... ) { libvlc_exception_raise( p_e, psz,##a ); \
+ return 0; }
# ifdef __cplusplus
}