Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/songdownloader.h

Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines