Commit d71d800d authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

src/control: Implement libvlc_media_list_view_children_at_index.

parent 14051791
......@@ -555,6 +555,12 @@ VLC_PUBLIC_API libvlc_media_descriptor_t *
int index,
libvlc_exception_t * p_e );
VLC_PUBLIC_API libvlc_media_list_view_t *
libvlc_media_list_view_children_at_index( libvlc_media_list_view_t * p_mlv,
int index,
libvlc_exception_t * p_e );
VLC_PUBLIC_API int
libvlc_media_list_view_index_of_item( libvlc_media_list_view_t * p_mlv,
libvlc_media_descriptor_t * p_md,
......
......@@ -73,6 +73,18 @@ flat_media_list_view_item_at_index( libvlc_media_list_view_t * p_mlv,
return p_md;
}
/**************************************************************************
* flat_media_list_view_item_at_index (private)
* (called by flat_media_list_view_item_at_index)
**************************************************************************/
static libvlc_media_list_view_t *
flat_media_list_view_children_at_index( libvlc_media_list_view_t * p_mlv,
int index,
libvlc_exception_t * p_e )
{
return NULL;
}
/**************************************************************************
* flat_media_list_view_release (private)
* (called by media_list_view_release)
......@@ -104,6 +116,7 @@ libvlc_media_list_flat_view( libvlc_media_list_t * p_mlist,
p_mlv = libvlc_media_list_view_new( p_mlist,
flat_media_list_view_count,
flat_media_list_view_item_at_index,
flat_media_list_view_children_at_index,
flat_media_list_view_release,
p_this_view_data,
p_e );
......
......@@ -117,12 +117,18 @@ struct libvlc_media_list_t
typedef void (*libvlc_media_list_view_release_func_t)( libvlc_media_list_view_t * p_mlv ) ;
typedef int (*libvlc_media_list_view_count_func_t)( struct libvlc_media_list_view_t * p_mlv,
typedef int (*libvlc_media_list_view_count_func_t)( libvlc_media_list_view_t * p_mlv,
libvlc_exception_t * ) ;
typedef libvlc_media_descriptor_t *
(*libvlc_media_list_view_item_at_index_func_t)(
struct libvlc_media_list_view_t * p_mlv,
libvlc_media_list_view_t * p_mlv,
int index,
libvlc_exception_t * ) ;
typedef libvlc_media_list_view_t *
(*libvlc_media_list_view_children_at_index_func_t)(
libvlc_media_list_view_t * p_mlv,
int index,
libvlc_exception_t * ) ;
......@@ -139,8 +145,9 @@ struct libvlc_media_list_view_t
struct libvlc_media_list_view_private_t * p_this_view_data;
/* Accessors */
libvlc_media_list_view_count_func_t pf_count;
libvlc_media_list_view_item_at_index_func_t pf_item_at_index;
libvlc_media_list_view_count_func_t pf_count;
libvlc_media_list_view_item_at_index_func_t pf_item_at_index;
libvlc_media_list_view_children_at_index_func_t pf_children_at_index;
libvlc_media_list_view_release_func_t pf_release;
......@@ -290,6 +297,7 @@ VLC_EXPORT ( libvlc_media_list_view_t *, libvlc_media_list_view_new,
( libvlc_media_list_t * p_mlist,
libvlc_media_list_view_count_func_t pf_count,
libvlc_media_list_view_item_at_index_func_t pf_item_at_index,
libvlc_media_list_view_children_at_index_func_t pf_children_at_index,
libvlc_media_list_view_release_func_t pf_release,
void * this_view_data,
libvlc_exception_t * p_e ) );
......
......@@ -104,6 +104,7 @@ libvlc_media_list_view_t *
libvlc_media_list_view_new( libvlc_media_list_t * p_mlist,
libvlc_media_list_view_count_func_t pf_count,
libvlc_media_list_view_item_at_index_func_t pf_item_at_index,
libvlc_media_list_view_children_at_index_func_t pf_children_at_index,
libvlc_media_list_view_release_func_t pf_release,
void * this_view_data,
libvlc_exception_t * p_e )
......@@ -120,9 +121,10 @@ libvlc_media_list_view_new( libvlc_media_list_t * p_mlist,
libvlc_media_list_retain( p_mlist );
p_mlv->p_mlist = p_mlist;
p_mlv->pf_count = pf_count;
p_mlv->pf_item_at_index = pf_item_at_index;
p_mlv->pf_release = pf_release;
p_mlv->pf_count = pf_count;
p_mlv->pf_item_at_index = pf_item_at_index;
p_mlv->pf_children_at_index = pf_children_at_index;
p_mlv->pf_release = pf_release;
p_mlv->p_this_view_data = this_view_data;
......@@ -225,4 +227,5 @@ libvlc_media_list_view_release( libvlc_media_list_view_t * p_mlv )
MEDIA_LIST_VIEW_FUNCTION( count, int, 0 )
MEDIA_LIST_VIEW_FUNCTION( item_at_index, libvlc_media_descriptor_t *, NULL, int arg1 )
MEDIA_LIST_VIEW_FUNCTION( children_at_index, libvlc_media_list_view_t *, NULL, int arg1 )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment