NOISSUE do not keep downloads in memory, add (some) missing virtual dtors
This commit is contained in:
parent
19bb50b872
commit
b5f636b3d5
@ -368,6 +368,8 @@ public:
|
||||
connect(&m_backoffTimer, &QTimer::timeout, this, &FolderInstanceStaging::childSucceded);
|
||||
}
|
||||
|
||||
virtual ~FolderInstanceStaging() {};
|
||||
|
||||
protected:
|
||||
virtual void executeTask() override
|
||||
{
|
||||
|
@ -28,6 +28,7 @@ class JavaCheckerJob : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit JavaCheckerJob(QString job_name) : Task(), m_job_name(job_name) {};
|
||||
virtual ~JavaCheckerJob() {};
|
||||
|
||||
bool addJavaCheckerAction(JavaCheckerPtr base)
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ class JavaListLoadTask : public Task
|
||||
|
||||
public:
|
||||
explicit JavaListLoadTask(JavaInstallList *vlist);
|
||||
~JavaListLoadTask();
|
||||
virtual ~JavaListLoadTask();
|
||||
|
||||
void executeTask() override;
|
||||
public slots:
|
||||
|
@ -23,6 +23,8 @@ class PostLaunchCommand: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PostLaunchCommand(LaunchTask *parent);
|
||||
virtual ~PostLaunchCommand() {};
|
||||
|
||||
virtual void executeTask();
|
||||
virtual bool abort();
|
||||
virtual bool canAbort() const
|
||||
|
@ -23,6 +23,8 @@ class PreLaunchCommand: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit PreLaunchCommand(LaunchTask *parent);
|
||||
virtual ~PreLaunchCommand() {};
|
||||
|
||||
virtual void executeTask();
|
||||
virtual bool abort();
|
||||
virtual bool canAbort() const
|
||||
|
@ -32,6 +32,7 @@ class MinecraftLoadAndCheck : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MinecraftLoadAndCheck(MinecraftInstance *inst, QObject *parent = 0);
|
||||
virtual ~MinecraftLoadAndCheck() {};
|
||||
void executeTask() override;
|
||||
|
||||
private slots:
|
||||
|
@ -32,6 +32,8 @@ class OneSixUpdate : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit OneSixUpdate(MinecraftInstance *inst, QObject *parent = 0);
|
||||
virtual ~OneSixUpdate() {};
|
||||
|
||||
void executeTask() override;
|
||||
bool canAbort() const override;
|
||||
|
||||
|
@ -21,7 +21,6 @@ public:
|
||||
|
||||
// Note this class takes ownership of the file.
|
||||
SkinUpload(QObject *parent, AuthSessionPtr session, QByteArray skin, Model model = STEVE);
|
||||
|
||||
virtual ~SkinUpload() {}
|
||||
|
||||
private:
|
||||
|
@ -34,6 +34,7 @@ class YggdrasilTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit YggdrasilTask(MojangAccount * account, QObject *parent = 0);
|
||||
virtual ~YggdrasilTask() {};
|
||||
|
||||
/**
|
||||
* assign a session to this task. the session will be filled with required infomration
|
||||
|
@ -23,6 +23,8 @@ class ClaimAccount: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ClaimAccount(LaunchTask *parent, AuthSessionPtr session);
|
||||
virtual ~ClaimAccount() {};
|
||||
|
||||
void executeTask() override;
|
||||
void finalize() override;
|
||||
bool canAbort() const override
|
||||
|
@ -25,6 +25,8 @@ class CreateServerResourcePacksFolder: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CreateServerResourcePacksFolder(LaunchTask *parent);
|
||||
virtual ~CreateServerResourcePacksFolder() {};
|
||||
|
||||
virtual void executeTask();
|
||||
virtual bool canAbort() const
|
||||
{
|
||||
|
@ -24,6 +24,8 @@ class DirectJavaLaunch: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DirectJavaLaunch(LaunchTask *parent);
|
||||
virtual ~DirectJavaLaunch() {};
|
||||
|
||||
virtual void executeTask();
|
||||
virtual bool abort();
|
||||
virtual void proceed();
|
||||
|
@ -24,6 +24,8 @@ class LauncherPartLaunch: public LaunchStep
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit LauncherPartLaunch(LaunchTask *parent);
|
||||
virtual ~LauncherPartLaunch() {};
|
||||
|
||||
virtual void executeTask();
|
||||
virtual bool abort();
|
||||
virtual void proceed();
|
||||
|
@ -96,86 +96,6 @@ shared_qobject_ptr<Task> LegacyInstance::createUpdateTask(Net::Mode)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/*
|
||||
class LegacyJarModTask : public Task
|
||||
{
|
||||
//Q_OBJECT
|
||||
public:
|
||||
explicit LegacyJarModTask(std::shared_ptr<LegacyInstance> inst) : Task(nullptr), m_inst(inst)
|
||||
{
|
||||
}
|
||||
virtual void executeTask()
|
||||
{
|
||||
if (!m_inst->shouldRebuild())
|
||||
{
|
||||
emitSucceeded();
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the mod list
|
||||
auto modList = m_inst->getJarMods();
|
||||
|
||||
QFileInfo runnableJar(m_inst->runnableJar());
|
||||
QFileInfo baseJar(m_inst->baseJar());
|
||||
bool base_is_custom = m_inst->shouldUseCustomBaseJar();
|
||||
|
||||
// Nothing to do if there are no jar mods to install, no backup and just the mc jar
|
||||
if (base_is_custom)
|
||||
{
|
||||
// yes, this can happen if the instance only has the runnable jar and not the base jar
|
||||
// it *could* be assumed that such an instance is vanilla, but that wouldn't be safe
|
||||
// because that's not something mmc4 guarantees
|
||||
if (runnableJar.isFile() && !baseJar.exists() && modList.empty())
|
||||
{
|
||||
m_inst->setShouldRebuild(false);
|
||||
emitSucceeded();
|
||||
return;
|
||||
}
|
||||
|
||||
setStatus(tr("Installing mods: Backing up minecraft.jar ..."));
|
||||
if (!baseJar.exists() && !QFile::copy(runnableJar.filePath(), baseJar.filePath()))
|
||||
{
|
||||
emitFailed("It seems both the active and base jar are gone. A fresh base jar will "
|
||||
"be used on next run.");
|
||||
m_inst->setShouldRebuild(true);
|
||||
m_inst->setShouldUpdate(true);
|
||||
m_inst->setShouldUseCustomBaseJar(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!baseJar.exists())
|
||||
{
|
||||
emitFailed("The base jar " + baseJar.filePath() + " does not exist");
|
||||
return;
|
||||
}
|
||||
|
||||
if (runnableJar.exists() && !QFile::remove(runnableJar.filePath()))
|
||||
{
|
||||
emitFailed("Failed to delete old minecraft.jar");
|
||||
return;
|
||||
}
|
||||
|
||||
setStatus(tr("Installing mods: Opening minecraft.jar ..."));
|
||||
|
||||
QString outputJarPath = runnableJar.filePath();
|
||||
QString inputJarPath = baseJar.filePath();
|
||||
|
||||
if(!MMCZip::createModdedJar(inputJarPath, outputJarPath, modList))
|
||||
{
|
||||
emitFailed(tr("Failed to create the custom Minecraft jar file."));
|
||||
return;
|
||||
}
|
||||
m_inst->setShouldRebuild(false);
|
||||
// inst->UpdateVersion(true);
|
||||
emitSucceeded();
|
||||
return;
|
||||
|
||||
}
|
||||
std::shared_ptr<LegacyInstance> m_inst;
|
||||
};
|
||||
*/
|
||||
|
||||
std::shared_ptr<LegacyModList> LegacyInstance::jarModList() const
|
||||
{
|
||||
if (!jar_mod_list)
|
||||
|
@ -9,6 +9,11 @@ AssetUpdateTask::AssetUpdateTask(MinecraftInstance * inst)
|
||||
{
|
||||
m_inst = inst;
|
||||
}
|
||||
|
||||
AssetUpdateTask::~AssetUpdateTask()
|
||||
{
|
||||
}
|
||||
|
||||
void AssetUpdateTask::executeTask()
|
||||
{
|
||||
setStatus(tr("Updating assets index..."));
|
||||
|
@ -8,6 +8,8 @@ class AssetUpdateTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
AssetUpdateTask(MinecraftInstance * inst);
|
||||
virtual ~AssetUpdateTask();
|
||||
|
||||
void executeTask() override;
|
||||
|
||||
bool canAbort() const override;
|
||||
|
@ -10,6 +10,7 @@ class FMLLibrariesTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
FMLLibrariesTask(MinecraftInstance * inst);
|
||||
virtual ~FMLLibrariesTask() {};
|
||||
|
||||
void executeTask() override;
|
||||
|
||||
|
@ -8,6 +8,8 @@ class FoldersTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
FoldersTask(MinecraftInstance * inst);
|
||||
virtual ~FoldersTask() {};
|
||||
|
||||
void executeTask() override;
|
||||
private:
|
||||
MinecraftInstance *m_inst;
|
||||
|
@ -8,6 +8,7 @@ class LibrariesTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
LibrariesTask(MinecraftInstance * inst);
|
||||
virtual ~LibrariesTask() {};
|
||||
|
||||
void executeTask() override;
|
||||
|
||||
|
@ -13,6 +13,8 @@ class MULTIMC_LOGIC_EXPORT FileResolvingTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit FileResolvingTask(Flame::Manifest &toProcess);
|
||||
virtual ~FileResolvingTask() {};
|
||||
|
||||
const Flame::Manifest &getResults() const
|
||||
{
|
||||
return m_toProcess;
|
||||
|
@ -24,7 +24,6 @@ public: /* methods */
|
||||
bool write(QByteArray & data) override
|
||||
{
|
||||
m_checksum.addData(data);
|
||||
this->data.append(data);
|
||||
return true;
|
||||
}
|
||||
bool abort() override
|
||||
@ -50,7 +49,6 @@ public: /* methods */
|
||||
}
|
||||
|
||||
private: /* data */
|
||||
QByteArray data;
|
||||
QCryptographicHash m_checksum;
|
||||
QByteArray m_expected;
|
||||
};
|
||||
|
@ -12,6 +12,7 @@ class MULTIMC_LOGIC_EXPORT PasteUpload : public Task
|
||||
public:
|
||||
PasteUpload(QWidget *window, QString text, QString key = "public");
|
||||
virtual ~PasteUpload();
|
||||
|
||||
QString pasteLink()
|
||||
{
|
||||
return m_pasteLink;
|
||||
|
@ -12,6 +12,7 @@ class MULTIMC_LOGIC_EXPORT SequentialTask : public Task
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit SequentialTask(QObject *parent = 0);
|
||||
virtual ~SequentialTask() {};
|
||||
|
||||
void addTask(std::shared_ptr<Task> task);
|
||||
|
||||
|
@ -38,6 +38,7 @@ public:
|
||||
* target is a template - XXXXXX at the end will be replaced with a random generated string, ensuring uniqueness
|
||||
*/
|
||||
explicit DownloadTask(Status status, QString target, QObject* parent = 0);
|
||||
virtual ~DownloadTask() {};
|
||||
|
||||
/// Get the directory that will contain the update files.
|
||||
QString updateFilesDir();
|
||||
|
Loading…
Reference in New Issue
Block a user