]> git.sesse.net Git - vlc/blobdiff - include/vlc_objects.h
Remove SD object type
[vlc] / include / vlc_objects.h
index aa4d1dc5bc236b9721b1d5816877c1b835ec651c..e59a09eaa6d1a3e70b8c16bc10e18d548a8d34d4 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * vlc_objects.h: vlc_object_t definition and manipulation methods
  *****************************************************************************
- * Copyright (C) 2002-2006 the VideoLAN team
+ * Copyright (C) 2002-2008 the VideoLAN team
  * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
@@ -41,7 +41,7 @@
 #define VLC_OBJECT_MODULE      (-3)
 #define VLC_OBJECT_INTF        (-4)
 #define VLC_OBJECT_PLAYLIST    (-5)
-#define VLC_OBJECT_ITEM        (-6)
+
 #define VLC_OBJECT_INPUT       (-7)
 #define VLC_OBJECT_DECODER     (-8)
 #define VLC_OBJECT_VOUT        (-9)
 #define VLC_OBJECT_STREAM      (-20)
 #define VLC_OBJECT_OPENGL      (-21)
 #define VLC_OBJECT_FILTER      (-22)
-#define VLC_OBJECT_VOD         (-23)
-#define VLC_OBJECT_SPU         (-24)
-/*#define VLC_OBJECT_xxx         (-25) - formerly TLS */
-#define VLC_OBJECT_SD          (-26)
+
+
+
+
 #define VLC_OBJECT_XML         (-27)
 #define VLC_OBJECT_OSDMENU     (-28)
 #define VLC_OBJECT_STATS       (-29)
 #define OBJECT_FLAGS_QUIET       0x0002
 #define OBJECT_FLAGS_NOINTERACT  0x0004
 
+/* Types */
+typedef void (*vlc_destructor_t)(struct vlc_object_t *);
+
+/* Constants */
+VLC_PUBLIC_API const vlc_destructor_t kVLCDestructor;
+
 /*****************************************************************************
  * The vlc_object_t type. Yes, it's that simple :-)
  *****************************************************************************/
@@ -96,6 +102,7 @@ struct vlc_object_t
  * Prototypes
  *****************************************************************************/
 VLC_EXPORT( void *, __vlc_object_create, ( vlc_object_t *, int ) );
+VLC_EXPORT( void, __vlc_object_set_destructor, ( vlc_object_t *, vlc_destructor_t ) );
 VLC_EXPORT( void, __vlc_object_attach, ( vlc_object_t *, vlc_object_t * ) );
 VLC_EXPORT( void, __vlc_object_detach, ( vlc_object_t * ) );
 VLC_EXPORT( void *, vlc_object_get, ( int ) );
@@ -111,6 +118,9 @@ VLC_EXPORT( void, vlc_list_release, ( vlc_list_t * ) );
 #define vlc_object_create(a,b) \
     __vlc_object_create( VLC_OBJECT(a), b )
 
+#define vlc_object_set_destructor(a,b) \
+    __vlc_object_set_destructor( VLC_OBJECT(a), b )
+
 #define vlc_object_detach(a) \
     __vlc_object_detach( VLC_OBJECT(a) )