1
/****************************************************************************************
2
 * Copyright (c) 2004 Michael Pyne <michael.pyne@kdemail.net>                           *
3
 * Copyright (c) 2004 Pierpaolo Di Panfilo <pippo_dp@libero.it>                         *
4
 *                                                                                      *
5
 * This program is free software; you can redistribute it and/or modify it under        *
6
 * the terms of the GNU General Public License as published by the Free Software        *
7
 * Foundation; either version 2 of the License, or (at your option) any later           *
8
 * version.                                                                             *
9
 *                                                                                      *
10
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
11
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
12
 * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
13
 *                                                                                      *
14
 * You should have received a copy of the GNU General Public License along with         *
15
 * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
16
 ****************************************************************************************/
17
18
#ifndef K3BEXPORTER_H
19
#define K3BEXPORTER_H
20
21
#include "amarok_export.h"
22
23
#include <KUrl>
24
25
//class DCOPRef;
26
27
/**
28
 * This class will export a list of tracks to K3b.
29
 */
30
class K3bExporter
31
{
32
public:
33
    enum K3bOpenMode { AudioCD, DataCD, Abort };
34
35
    /**
36
    * @return true if the executable of K3B is found
37
    */
38
    // FIXME: implement me!
39
    /*AMAROK_EXPORT*/ static bool isAvailable() { return false; }
40
41
42
    /**
43
    * Exports the list of urls @urls via DCOP to K3B. The mode @p openmode will be used
44
    * @param urls The list of urls to export
45
    * @param openmode The mode of the album
46
    */
47
    // FIXME: implement me!
48
    /*AMAROK_EXPORT*/ void exportTracks( const KUrl::List &/*urls*/, int openmode=-1 ) { Q_UNUSED(openmode) }
49
50
    /**
51
    * Exports the current playlist to K3B. The mode @p openmode will be used
52
    * @param openmode The mode of the album
53
    */
54
    // FIXME: implement me!
55
    void exportCurrentPlaylist( int openmode=-1 ) { Q_UNUSED(openmode) }
56
57
    /**
58
    * Exports the selected tracks to K3B. The mode @p openmode will be used
59
    * @param openmode The mode of the tracks
60
    */
61
    // FIXME: implement me!
62
    void exportSelectedTracks( int openmode=-1 ) { Q_UNUSED(openmode) }
63
64
    /**
65
    * Exports the album @p album to K3B. The mode @p openmode will be used
66
    * @param openmode The mode of the album
67
    * @param album The album to export
68
    */
69
    // FIXME: implement me!
70
    void exportAlbum( const QString &/*album*/, int openmode=-1 ) { Q_UNUSED(openmode) }
71
72
    /**
73
    * Exports the album @p album by artist @ artist to K3B. The mode @p openmode will be used
74
    * @param openmode The mode of the album
75
    * @param album The album to export
76
    */
77
    // FIXME: implement me!
78
    void exportAlbum( const QString &/*artist*/, const QString &/*album*/, int openmode=-1 ) { Q_UNUSED(openmode) }
79
80
    /**
81
    * Exports all tracks of the artist @p artist to K3B. The mode @p openmode will be used
82
    * @param openmode The mode of the album
83
    * @param artist The artists which tracks to export
84
    */
85
    // FIXME: implement me!
86
    void exportArtist( const QString &/*artist*/, int openmode=-1 ) { Q_UNUSED(openmode) }
87
88
    /**
89
    * Exports all tracks of the composer @p composer to K3B. The mode @p openmode will be used
90
    * @param openmode The mode of the album
91
    * @param artist The artists which tracks to export
92
    */
93
    // FIXME: implement me!
94
    void exportComposer( const QString &/*artist*/, int openmode=-1 ) { Q_UNUSED(openmode) }
95
96
    /**
97
    * @return the static instance of K3bExporter
98
    */
99
    static K3bExporter *instance() { return s_instance; }
100
101
private:
102
    /*void exportViaCmdLine( const KUrl::List &urls, int openmode );
103
    void exportViaDCOP( const KUrl::List &urls, DCOPRef &ref, int mode );
104
    void DCOPErrorMessage();
105
    bool startNewK3bProject( DCOPRef &ref, int mode );
106
    K3bOpenMode openMode();*/
107
108
    AMAROK_EXPORT static K3bExporter *s_instance;
109
};
110
111
112
#endif /* K3BEXPORTER_H */