]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Unexport vlc_object_detach
[vlc] / src / libvlc.h
index 640c4b8226fd7536822e74eba629c392dc952663..4ab242a1e795ee85bd805c2615425085c1afb412 100644 (file)
@@ -35,8 +35,8 @@ typedef struct action
 } action_t;
 extern const struct action libvlc_actions[];
 extern const size_t libvlc_actions_count;
-extern int vlc_key_to_action (vlc_object_t *, const char *,
-                              vlc_value_t, vlc_value_t, void *);
+extern int vlc_InitActions (libvlc_int_t *);
+extern void vlc_DeinitActions (libvlc_int_t *);
 
 /*
  * OS-specific initialization
@@ -48,9 +48,8 @@ void system_End       ( libvlc_int_t * );
 /*
  * Legacy object stuff that is still used within libvlccore (only)
  */
-#define vlc_object_signal_unlocked( obj )
-
-vlc_list_t *vlc_list_find( vlc_object_t *, int, int );
+void vlc_object_detach (vlc_object_t *);
+#define vlc_object_detach( o ) vlc_object_detach(VLC_OBJECT(o))
 
 /*
  * Threads subsystem
@@ -79,6 +78,7 @@ void vlc_assert_locked (vlc_mutex_t *);
  */
 extern uint32_t cpu_flags;
 uint32_t CPUCapabilities( void );
+bool vlc_CPU_CheckPluginDir (const char *name);
 
 /*
  * Message/logging stuff
@@ -156,16 +156,17 @@ module_t *module_find_by_shortcut (const char *psz_shortcut);
 /**
  * Private LibVLC data for each object.
  */
-typedef struct vlc_object_internals_t
+typedef struct vlc_object_internals vlc_object_internals_t;
+
+struct vlc_object_internals
 {
     int             i_object_type; /* Object type, deprecated */
     char           *psz_name; /* given name */
 
     /* Object variables */
-    variable_t    **pp_vars;
+    void           *var_root;
     vlc_mutex_t     var_lock;
     vlc_cond_t      var_wait;
-    int             i_vars;
 
     /* Thread properties, if any */
     vlc_thread_t    thread_id;
@@ -180,9 +181,11 @@ typedef struct vlc_object_internals_t
     vlc_destructor_t pf_destructor;
 
     /* Objects tree structure */
-    vlc_object_t   **pp_children;
-    int              i_children;
-} vlc_object_internals_t;
+    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")
 #define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter")
@@ -191,6 +194,7 @@ typedef struct vlc_object_internals_t
 #define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
 
 #define vlc_internals( obj ) (((vlc_object_internals_t*)(VLC_OBJECT(obj)))-1)
+#define vlc_externals( priv ) ((vlc_object_t *)((priv) + 1))
 
 typedef struct sap_handler_t sap_handler_t;
 
@@ -200,7 +204,6 @@ typedef struct sap_handler_t sap_handler_t;
 typedef struct libvlc_priv_t
 {
     libvlc_int_t       public_data;
-    vlc_cond_t         exiting; ///< signaled when VLC wants to exit
 
     int                i_last_input_id ; ///< Last id of input item