Sayonara Player
Loading...
Searching...
No Matches
LastFM.h
1/* LastFM.h */
2
3/* Copyright (C) 2011-2024 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
22/*
23 * LastFM.h
24 *
25 * Created on: Apr 19, 2011
26 * Author: Michael Lugmair (Lucio Carreras)
27 */
28
29#ifndef SAYONARA_LASTFM_H
30#define SAYONARA_LASTFM_H
31
32#include "Utils/Pimpl.h"
33
34#include <QObject>
35
36class PlayManager;
39
40namespace LastFM
41{
42 class Base :
43 public QObject
44 {
45 Q_OBJECT
46 PIMPL(Base)
47
48 signals:
49 void sigLoggedIn(bool success);
50
51 public:
52 Base(PlayManager* playManager, NotificationHandler* notificationHandler,
53 const std::shared_ptr<WebClientFactory>& webClientFactory);
54 ~Base() override;
55
56 void login(const QString& username, const QString& password);
57 bool isLoggedIn();
58
59 private slots:
60 void activeChanged();
61 void loginThreadFinished();
62 void currentTrackChanged(const MetaData& track);
63
64 void scrobble();
65 void webClientFinished();
66
67 void trackChangedTimerTimedOut();
68 };
69}
70
71#endif /* SAYONARA_LASTFM_H */
Definition LastFM.h:44
Definition MetaData.h:43
Definition NotificationHandler.h:29
Definition PlayManager.h:34
Definition WebClientFactory.h:29