Sayonara Player
src
Components
Library
Importer
LibraryImporter.h
1
/* LibraryImporter.h */
2
3
/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4
*
5
* This file is part of sayonara player
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef LIBRARYIMPORTER_H
22
#define LIBRARYIMPORTER_H
23
24
#include "Utils/Pimpl.h"
25
#include <QObject>
26
27
class
LocalLibrary
;
28
29
namespace
Library
30
{
35
class
Importer
:
36
public
QObject
37
{
38
Q_OBJECT
39
PIMPL(
Importer
)
40
41
public
:
42
explicit
Importer
(
LocalLibrary
* library);
43
~
Importer
();
44
45
enum class
ImportStatus : uint8_t
46
{
47
Cancelled,
48
Rollback,
49
Caching,
50
NoTracks,
51
NoValidTracks,
52
CachingFinished,
53
Importing,
54
Imported
55
};
56
57
signals:
58
void
sigMetadataCached(
const
MetaDataList
& tracks);
59
void
sigStatusChanged(Importer::ImportStatus);
60
void
sigProgress(
int
percent);
61
void
sigCachedFilesChanged();
62
void
sigTargetDirectoryChanged(
const
QString& targetDir);
63
void
sigTriggered();
64
65
public
:
66
bool
isRunning()
const
;
67
void
importFiles(
const
QStringList& files,
const
QString& targetDir);
68
void
acceptImport(
const
QString& targetDir);
69
bool
cancelImport();
70
void
reset();
71
int
cachedFileCount()
const
;
72
73
Importer::ImportStatus status()
const
;
74
75
private
slots:
76
void
cachingThreadFinished();
77
void
copyThreadFinished();
78
void
emitStatus(Importer::ImportStatus status);
79
void
metadataChanged();
80
};
81
}
82
83
#endif // LIBRARYIMPORTER_H
MetaDataList
The MetaDataList class.
Definition:
MetaDataList.h:37
Library::Importer
The LibraryImporter class.
Definition:
LibraryImporter.h:37
Library
An interface class needed when implementing a library plugin.
Definition:
LocalLibraryWatcher.h:31
LocalLibrary
Definition:
LocalLibrary.h:37
Generated on Wed Jan 6 2021 00:00:00 for Sayonara Player by
1.8.20