![]() |
Mixxx
|
00001 #ifndef SONGDOWNLOADER_H 00002 #define SONGDOWNLOADER_H 00003 00004 #include <QtCore> 00005 #include <QtNetwork> 00006 #include <QNetworkAccessManager> 00007 #include <QQueue> 00008 00009 class SongDownloader : public QObject 00010 { 00011 Q_OBJECT 00012 public: 00013 SongDownloader(QObject* parent); 00014 ~SongDownloader(); 00015 00016 bool downloadSongFromURL(QUrl& url); 00017 00018 public slots: 00019 void slotReadyRead(); 00020 void slotError(QNetworkReply::NetworkError error); 00021 void slotProgress( qint64 bytesReceived, qint64 bytesTotal ); 00022 void slotDownloadFinished(); 00023 //void finishedSlot(QNetworkReply* reply); 00024 signals: 00025 void downloadProgress(qint64, qint64); 00026 void downloadFinished(); 00027 void downloadError(); 00028 00029 private: 00030 bool downloadFromQueue(); 00031 00032 QNetworkAccessManager* m_pNetwork; 00033 QQueue<QUrl> m_downloadQueue; 00034 QFile* m_pDownloadedFile; 00035 QNetworkReply* m_pReply; 00036 QNetworkRequest* m_pRequest; 00037 }; 00038 00039 #endif // SONGDOWNLOADER_H