]> git.sesse.net Git - vlc/blobdiff - include/libvlc_internal.h
* Update version of libcdio. 0.78.2 is now the req. version
[vlc] / include / libvlc_internal.h
index f8e2361217e865ba80e7cde155f58403df75e4dc..6af7e53ab8916887193099fb1b4f6f8f40fd6b49 100644 (file)
@@ -31,12 +31,25 @@ extern "C" {
 
 #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;
+    libvlc_int_t *p_libvlc_int;
     vlm_t      *p_vlm;
-    int    i_vlc_id;
 };
 
 struct libvlc_input_t
@@ -46,6 +59,12 @@ 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
 }