VLC 4.0.0-dev
vlc_playlist_export.h
Go to the documentation of this file.
1/*****************************************************************************
2 * vlc_playlist_export.h
3 *****************************************************************************
4 * Copyright (C) 2019 VLC authors and VideoLAN
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19 *****************************************************************************/
20
21#ifndef VLC_PLAYLIST_EXPORT_H
22#define VLC_PLAYLIST_EXPORT_H
23
24#include <vlc_playlist.h>
25
26/** API for playlist export modules */
27
28/**
29 * Opaque structure giving a read-only view of a playlist.
30 *
31 * The view is only valid until the playlist lock is released.
32 */
34
35/**
36 * Return the number of items in the view.
37 *
38 * The underlying playlist must be locked.
39 *
40 * \param view the playlist view
41 */
42VLC_API size_t
44
45/**
46 * Return the item at a given index.
47 *
48 * The index must be in range (less than vlc_playlist_view_Count()).
49 *
50 * The underlying playlist must be locked.
51 *
52 * \param view the playlist view
53 * \param index the index
54 * \return the playlist item
55 */
57vlc_playlist_view_Get(struct vlc_playlist_view *view, size_t index);
58
59/**
60 * Structure received by playlist export module.
61 */
64 struct vlc_object_t obj;
65 char *base_url;
66 FILE *file;
68};
69
70#endif
#define VLC_API
Definition: fourcc_gen.c:31
VLC object common members.
Definition: vlc_objects.h:45
Structure received by playlist export module.
Definition: vlc_playlist_export.h:64
FILE * file
Definition: vlc_playlist_export.h:67
char * base_url
Definition: vlc_playlist_export.h:66
struct vlc_playlist_view * playlist_view
Definition: vlc_playlist_export.h:68
struct vlc_object_t obj
Definition: vlc_playlist_export.h:65
Definition: item.h:30
Definition: export.c:38
This file is a collection of common definitions and types.
size_t vlc_playlist_view_Count(struct vlc_playlist_view *view)
Return the number of items in the view.
Definition: export.c:43
vlc_playlist_item_t * vlc_playlist_view_Get(struct vlc_playlist_view *view, size_t index)
Return the item at a given index.
Definition: export.c:49