]> git.sesse.net Git - vlc/blobdiff - include/vlc_input_item.h
vlc core: single storage playlist
[vlc] / include / vlc_input_item.h
index 6cea7d9bce5f63582038c7585557b67b52eb024e..4dcd5fc0c10e2594dc846d420af5ac550ec08e45 100644 (file)
@@ -107,6 +107,14 @@ enum input_item_type_e
     ITEM_TYPE_NUMBER
 };
 
+struct input_item_node_t
+{
+    input_item_t *         p_item;
+    int                    i_children;
+    input_item_node_t      **pp_children;
+    input_item_node_t      *p_parent;
+};
+
 VLC_EXPORT( void, input_item_CopyOptions, ( input_item_t *p_parent, input_item_t *p_child ) );
 VLC_EXPORT( void, input_item_SetName, ( input_item_t *p_item, const char *psz_name ) );
 
@@ -116,6 +124,11 @@ VLC_EXPORT( void, input_item_SetName, ( input_item_t *p_item, const char *psz_na
  * the input item children. */
 VLC_EXPORT( void, input_item_AddSubItem, ( input_item_t *p_parent, input_item_t *p_child ) );
 
+VLC_EXPORT( void, input_item_AddSubItemTree, ( input_item_node_t *p_root ) );
+
+/* Will send vlc_InputItemSubItemTreeAdded event, just as input_item_AddSubItemTree */
+VLC_EXPORT( void, input_item_AddSubItem2, ( input_item_t *p_parent, input_item_t *p_child ) );
+
 
 /**
  * Option flags
@@ -215,6 +228,14 @@ VLC_EXPORT( input_item_t *, __input_item_NewExt, (vlc_object_t *, const char *ps
  */
 #define input_item_New( a,b,c ) input_item_NewExt( a, b, c, 0, NULL, 0, -1 )
 
+VLC_EXPORT( input_item_node_t *, input_item_node_Create, ( input_item_t *p_input ) );
+
+VLC_EXPORT( void, input_item_node_Delete, ( input_item_node_t *p_node ) );
+
+VLC_EXPORT( input_item_node_t *, input_item_node_AppendItem, ( input_item_node_t *p_node, input_item_t *p_item ) );
+
+VLC_EXPORT( void, input_item_node_AppendNode, ( input_item_node_t *p_node, input_item_node_t *p_item ) );
+
 /******************
  * Input stats
  ******************/