diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-09-30 03:29:12 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-09-30 03:29:12 +0200 |
commit | c05a39147a462d610dabaf89dae59c004e7dd539 (patch) | |
tree | 10cff4a66c8d9999df7e02648b72b1c7a289ada5 /logic/net/ForgeXzDownload.h | |
parent | 2173abb9a87c67b53e64c9bdebbba5fa6b4d4b7d (diff) | |
parent | e45b444242104e557f1bce14e9c11e3792bbe41f (diff) | |
download | PrismLauncher-c05a39147a462d610dabaf89dae59c004e7dd539.tar.gz PrismLauncher-c05a39147a462d610dabaf89dae59c004e7dd539.tar.bz2 PrismLauncher-c05a39147a462d610dabaf89dae59c004e7dd539.zip |
Implemented xz and pack200 unpackers required for proper forge installation.
Merge branch 'feature_forge_unpackers' into develop
Conflicts:
CMakeLists.txt
Diffstat (limited to 'logic/net/ForgeXzDownload.h')
-rw-r--r-- | logic/net/ForgeXzDownload.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/logic/net/ForgeXzDownload.h b/logic/net/ForgeXzDownload.h new file mode 100644 index 00000000..8cb47783 --- /dev/null +++ b/logic/net/ForgeXzDownload.h @@ -0,0 +1,35 @@ +#pragma once + +#include "Download.h" +#include "HttpMetaCache.h" +#include <QFile> +#include <QTemporaryFile> + +class ForgeXzDownload : public Download +{ + Q_OBJECT +public: + MetaEntryPtr m_entry; + /// 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 + QTemporaryFile m_pack200_xz_file; + +public: + explicit ForgeXzDownload(QUrl url, MetaEntryPtr entry); + +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(); +private: + void decompressAndInstall(); +}; + +typedef QSharedPointer<ForgeXzDownload> ForgeXzDownloadPtr; |