diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-09-08 02:15:20 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-09-08 02:15:20 +0200 |
commit | 6bea4ec988b7caeac63353fb9d2a354f2fd47dad (patch) | |
tree | 77dc597c82ff3952d9f34f4ca13da1c36ca89bd8 /logic/net/FileDownload.h | |
parent | 6892c11e9f287dcfb1e698f8f46233a01fb7abb6 (diff) | |
download | MultiMC-6bea4ec988b7caeac63353fb9d2a354f2fd47dad.tar MultiMC-6bea4ec988b7caeac63353fb9d2a354f2fd47dad.tar.gz MultiMC-6bea4ec988b7caeac63353fb9d2a354f2fd47dad.tar.lz MultiMC-6bea4ec988b7caeac63353fb9d2a354f2fd47dad.tar.xz MultiMC-6bea4ec988b7caeac63353fb9d2a354f2fd47dad.zip |
Use HttpMetaCache to minimize network use.
Diffstat (limited to 'logic/net/FileDownload.h')
-rw-r--r-- | logic/net/FileDownload.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/logic/net/FileDownload.h b/logic/net/FileDownload.h new file mode 100644 index 00000000..190bee58 --- /dev/null +++ b/logic/net/FileDownload.h @@ -0,0 +1,35 @@ +#pragma once + +#include "Download.h" +#include <QFile> + +class FileDownload : public Download +{ + Q_OBJECT +public: + /// if true, check the md5sum against a provided md5sum + /// also, if a file exists, perform an md5sum first and don't download only if they don't match + bool m_check_md5; + /// the expected md5 checksum + QString m_expected_md5; + /// is the saving file already open? + bool m_opened_for_saving; + /// if saving to file, use the one specified in this string + QString m_target_path; + /// this is the output file, if any + QFile m_output_file; + +public: + explicit FileDownload(QUrl url, QString target_path); + +protected slots: + virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); + virtual void downloadError(QNetworkReply::NetworkError error); + virtual void downloadFinished(); + virtual void downloadReadyRead(); + +public slots: + virtual void start(); +}; + +typedef QSharedPointer<FileDownload> FileDownloadPtr; |