Sayonara Player
AlbumCoverFetchThread.h
1/* AlbumCoverFetchThread.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 ALBUMCOVERFETCHTHREAD_H
22#define ALBUMCOVERFETCHTHREAD_H
23
24#include "Utils/Pimpl.h"
25
26#include <QThread>
27#include <QModelIndex>
28
29namespace Cover
30{
31 class Location;
32 class Lookup;
33}
34
35namespace Library
36{
49 class AlbumCoverFetchThread : public QThread
50 {
51 Q_OBJECT
53
54 signals:
55 void sigNext();
56
57 public:
58 using Hash = QString;
63
64 protected:
65 void run() override;
66
67 public:
68 explicit AlbumCoverFetchThread(QObject* parent = nullptr);
69 ~AlbumCoverFetchThread() override;
70
76 void addAlbum(const Album& album);
77
84 bool checkAlbum(const QString& hashLocationPair);
85
86 HashLocationPair takeCurrentLookup();
87
91 void stop();
92 void clear();
93 void removeHash(const Hash& hash);
94
95 static Hash getHash(const Album& album);
96 };
97}
98
99#endif // ALBUMCOVERFETCHTHREAD_H
Definition: Album.h:37
This class organizes requests for new Covers for the AlbumCoverView. When looking for covers,...
Definition: AlbumCoverFetchThread.h:50
bool checkAlbum(const QString &hashLocationPair)
check if album is already processed or about to be processed in the future
void stop()
stop Stop the thread
void addAlbum(const Album &album)
add_data Add a new album request
Definition: EngineUtils.h:33
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31
Definition: typedefs.h:33