summaryrefslogtreecommitdiffstats
path: root/webdownloader.h
blob: 9b2f6b1564ee8b606753920dabfd88a6252dac0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef WEBDOWNLOADER_H
#define WEBDOWNLOADER_H

#include <QObject>
#include <QNetworkAccessManager>
#include <QMap>
#include <QVariant>

class WebDownloader : public QObject {
    Q_OBJECT
    public:
        WebDownloader(QObject *parent = nullptr);
        void fetchData(QString artist, QString album);
        const QString album() const { return mAlbum; }
        const QString artist() const { return mArtist; }
        const QString artistId() const { return mArtistId; }
        const QStringList data() const { return mData; }
        const QList<QList<QVariant> > otherData() const { return mOtherData; }
        const QMap<QString, QString> alternateArtists() const { return mAlternateArtists; }

    signals:
        void done();

    private slots:
        void dlFinished(QNetworkReply *reply);

    private:
        QNetworkAccessManager *mAccessMgr;
        QString mArtist;
        QString mAlbum;
        QString mArtistId;
        QStringList mData;
        QList<QList<QVariant> > mOtherData;
        QMap<QString, QString> mAlternateArtists;
};

#endif // WEBDOWNLOADER_H