Sayonara Player
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Components
DynamicPlayback
LfmSimilarArtistFetcher.h
1
/* LfmSimilarArtistFetcher.h */
2
/*
3
* Copyright (C) 2011-2024 Michael Lugmair
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
#ifndef SAYONARA_PLAYER_LFMSIMILARARTISTFETCHER_H
21
#define SAYONARA_PLAYER_LFMSIMILARARTISTFETCHER_H
22
23
#include "SimilarArtistFetcher.h"
24
#include "Utils/Pimpl.h"
25
26
class
WebClientFactory
;
27
namespace
DynamicPlayback
28
{
29
class
LfmSimilarArtistFetcher :
30
public
SimilarArtistFetcher
31
{
32
Q_OBJECT
33
PIMPL(LfmSimilarArtistFetcher)
34
35
public
:
36
LfmSimilarArtistFetcher(
const
QString& artist,
const
std::shared_ptr<WebClientFactory>& webClientFactory,
37
QObject* parent =
nullptr
);
38
~LfmSimilarArtistFetcher()
override
;
39
[[nodiscard]]
const
ArtistMatch
& similarArtists()
const override
;
40
41
protected
:
42
void
fetchSimilarArtists(
const
QString& artistName)
override
;
43
44
private
slots:
45
void
webClientFinished();
46
};
47
48
class
LfmSimilarArtistFetcherFactory
:
49
public
SimilarArtistFetcherFactory
50
{
51
public
:
52
~LfmSimilarArtistFetcherFactory
()
override
;
53
SimilarArtistFetcher
* create(
const
QString& artist)
override
;
54
55
};
56
}
57
#endif
//SAYONARA_PLAYER_LFMSIMILARARTISTFETCHER_H
DynamicPlayback::ArtistMatch
Definition
ArtistMatch.h:32
DynamicPlayback::LfmSimilarArtistFetcherFactory
Definition
LfmSimilarArtistFetcher.h:50
DynamicPlayback::SimilarArtistFetcherFactory
Definition
SimilarArtistFetcher.h:53
DynamicPlayback::SimilarArtistFetcher
Definition
SimilarArtistFetcher.h:32
WebClientFactory
Definition
WebClientFactory.h:29
Generated on
for Sayonara Player by
1.17.0