summaryrefslogblamecommitdiffstats
path: root/src/DownloadManager.h
blob: 12b94e18df0b526273e0b936dd8e2ddb05f8a657 (plain) (tree)
1
2
3
4
5
6
7
8
9


                         
                      

                   
                                      
 
                
 
       
                                             
                           
                                                       

        
                                           

                                    
                         
                                
                                       


                                     

                 

                        
 


                                        
              
                                 


                                                                 


                           
#ifndef DOWNLOADMANAGER_H
#define DOWNLOADMANAGER_H

#include "fbbrowser.h"
#include <QtWebKit>

class DownloadManager : public QObject
{
	Q_OBJECT

public:
	DownloadManager(const QUrl& baseUrl);
	~DownloadManager();
	void processDownloadRequest(QString& filename);

private:
	// Object required for downloading.
	QNetworkAccessManager* qnam;
	QUrl baseUrl;
	QQueue<QUrl> dlQ;
	QNetworkRequest request;
	QNetworkReply* currentDownload;
	QFile outfile;
	QString filename;
	// Download-in-progress flag.
	bool dip;

signals:
	void finished();

public slots:
	void downloadFile(QString name);

private slots:
	void startNextDownload();
	void downloadReady();
	void downloadProgress(qint64 bytesIn, qint64 bytesTotal);
	void downloadFinished();
};

#endif // DOWNLOADMANAGER_H