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  */
33 struct vlc_playlist_view;
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  */
42 VLC_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  */
57 vlc_playlist_view_Get(struct vlc_playlist_view *view, size_t index);
58 
59 /**
60  * Structure received by playlist export module.
61  */
63 {
64  struct vlc_object_t obj;
65  char *base_url;
66  FILE *file;
68 };
69 
70 #endif
size_t vlc_playlist_view_Count(struct vlc_playlist_view *view)
Return the number of items in the view.
Definition: export.c:43
Definition: export.c:37
char * base_url
Definition: vlc_playlist_export.h:66
Structure received by playlist export module.
Definition: vlc_playlist_export.h:63
FILE * file
Definition: vlc_playlist_export.h:67
#define VLC_API
Definition: fourcc_gen.c:31
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
VLC object common members.
Definition: vlc_objects.h:43
Definition: item.h:29
struct vlc_playlist_view * playlist_view
Definition: vlc_playlist_export.h:68