1 /****************************************************************************************
2  * Copyright (c) 2008 Nikolaj Hald Nielsen <nhn@kde.org>                                *
3  * Copyright (c) 2008 Bart Cerneels <bart.cerneels@kde.org>                             *
4  * Copyright (c) 2012 Ralf Engels <ralf-engels@gmx.de>                                  *
5  *                                                                                      *
6  * This program is free software; you can redistribute it and/or modify it under        *
7  * the terms of the GNU General Public License as published by the Free Software        *
8  * Foundation; either version 2 of the License, or (at your option) any later           *
9  * version.                                                                             *
10  *                                                                                      *
11  * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
13  * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
14  *                                                                                      *
15  * You should have received a copy of the GNU General Public License along with         *
16  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
17  ****************************************************************************************/
18 
19 #ifndef USERPLAYLISTPROVIDER_H
20 #define USERPLAYLISTPROVIDER_H
21 
22 #include "amarok_export.h"
23 #include "core/playlists/PlaylistProvider.h"
24 
25 namespace Playlists {
26     /**
27      * @author Bart Cerneels <bart.cerneels@kde.org>
28      */
29     class AMAROK_EXPORT UserPlaylistProvider : public PlaylistProvider
30     {
31         Q_OBJECT
32 
33         public:
34             explicit UserPlaylistProvider( QObject *parent = nullptr );
35 
36             /* PlaylistProvider functions */
37             int category() const override;
38 
39             /* UserPlaylistProvider functions */
40             virtual PlaylistPtr save( const Meta::TrackList &tracks,
41                                       const QString &name = QString() ) = 0;
42     };
43 } //namespace Playlists
44 
45 #endif
46