Sayonara Player
LFMWebAccess.h
1/* WebAccess.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
22/*
23 * WebAccess.h
24 *
25 * Created on: Oct 22, 2011
26 * Author: Michael Lugmair (Lucio Carreras)
27 */
28
29#ifndef WebAccess_H_
30#define WebAccess_H_
31
32#include <QObject>
33#include <QMap>
34
35class QByteArray;
36
37namespace LastFM
38{
39 class UrlParams :
40 public QMap<QString, QString>
41 {
42 public:
43 void appendSignature();
44 };
45
46 class WebAccess :
47 public QObject
48 {
49 Q_OBJECT
50
51 signals:
52 void sigFinished();
53 void sigResponse(const QByteArray& response);
54 void sigError(const QString& error);
55
56 public:
57 void callUrl(const QString& url);
58 void callPostUrl(const QString& url, const QByteArray& data);
59
60 static QString createPostUrl(const QString& baseUrl, const UrlParams& signatureData,
61 QByteArray& postData);
62
63 private:
64 bool checkError(const QByteArray& data);
65
66 private slots: // NOLINT(readability-redundant-access-specifiers)
67 void webClientFinished();
68 };
69}
70#endif /* WebAccess_H_ */
Definition: LFMWebAccess.h:41
Definition: LFMWebAccess.h:48
Definition: org_mpris_media_player2_adaptor.h:21