/** @}*/
-/*****************************************************************************
- * Tree
- *****************************************************************************/
-/** defgroup libvlc_tree Tree
- * \ingroup libvlc
- * LibVLC Tree. A tree holds an item plus several subtrees.
- * @{
- */
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_new_with_media_list_as_item( libvlc_media_list_t * p_mlist,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_new_with_string_as_item( const char * psz,
- libvlc_exception_t * p_e );
-VLC_PUBLIC_API void
- libvlc_tree_release( libvlc_tree_t * p_tree );
-
-VLC_PUBLIC_API void
- libvlc_tree_retain( libvlc_tree_t * p_tree );
-
-VLC_PUBLIC_API char *
- libvlc_tree_item_as_string( libvlc_tree_t * p_tree,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_media_list_t *
- libvlc_tree_item_as_media_list( libvlc_tree_t * p_tree,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API int
- libvlc_tree_subtree_count( libvlc_tree_t * p_tree, libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API libvlc_tree_t *
- libvlc_tree_subtree_at_index( libvlc_tree_t * p_tree,
- int index,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API void
- libvlc_tree_insert_subtree_at_index( libvlc_tree_t * p_tree,
- libvlc_tree_t * p_subtree,
- int index,
- libvlc_exception_t * p_e );
-
-VLC_PUBLIC_API void
- libvlc_tree_remove_subtree_at_index( libvlc_tree_t * p_tree,
- int index,
- libvlc_exception_t * p_e );
-
-/**@} */
-
-
-
/*****************************************************************************
* Media descriptor
*****************************************************************************/
void *p_user_data,
libvlc_exception_t *p_e );
-
/**
* Get an event type name
* \param i_event_type the desired event
/**@} */
-/*****************************************************************************
- * Tree
- *****************************************************************************/
-/** defgroup libvlc_tree Tree
- * \ingroup libvlc
- * LibVLC Tree
- * @{
- */
-
-typedef void (*libvlc_retain_function)(void *);
-typedef void (*libvlc_release_function)(void *);
-
-typedef struct libvlc_tree_t libvlc_tree_t;
-
-/**@} */
-
/*****************************************************************************
* Tag
*****************************************************************************/
libvlc_MediaListPlayerNextItemSet,
libvlc_MediaListPlayerStopped,
- libvlc_TreeSubtreeAdded,
- libvlc_TreeSubtreeDeleted,
- libvlc_TreeItemValueChanged,
-
} libvlc_event_type_t;
/**
libvlc_media_descriptor_t * item;
int index;
} media_list_item_deleted;
-
- /* Tree */
- struct
- {
- libvlc_tree_t * subtree;
- int index;
- } tree_subtree_added;
- struct
- {
- libvlc_tree_t * subtree;
- int index;
- } tree_subtree_deleted;
- struct
- {
- void * new_value;
- } tree_item_value_changed;
-
} u;
} libvlc_event_t;
char * psz_tag_key;
};
-struct libvlc_tree_t
-{
- libvlc_event_manager_t * p_event_manager;
- int i_refcount;
- void * p_item; /* For dynamic sublist */
- libvlc_retain_function pf_item_retain;
- libvlc_release_function pf_item_release;
- DECL_ARRAY(struct libvlc_tree_t *) subtrees; /* For dynamic sublist */
-};
-
struct libvlc_media_list_t
{
libvlc_event_manager_t * p_event_manager;
libvlc_instance_t * p_libvlc_instance;
int i_refcount;
libvlc_media_list_t * p_mlist;
- libvlc_tree_t * p_playlists_tree;
};
struct libvlc_media_discoverer_t