PrismLauncher/api/logic/modplatform/modpacksch/FTBPackInstallTask.h
2021-07-06 15:12:07 +01:00

48 lines
821 B
C++

#pragma once
#include "FTBPackManifest.h"
#include "InstanceTask.h"
#include "multimc_logic_export.h"
#include "net/NetJob.h"
namespace ModpacksCH {
class MULTIMC_LOGIC_EXPORT PackInstallTask : public InstanceTask
{
Q_OBJECT
public:
explicit PackInstallTask(Modpack pack, QString version);
virtual ~PackInstallTask(){}
bool canAbort() const override { return true; }
bool abort() override;
protected:
virtual void executeTask() override;
private slots:
void onDownloadSucceeded();
void onDownloadFailed(QString reason);
private:
void downloadPack();
void install();
private:
bool abortable = false;
NetJobPtr jobPtr;
QByteArray response;
Modpack m_pack;
QString m_version_name;
Version m_version;
QMap<QString, QString> filesToCopy;
};
}