GH-1053 explode launch task into many small steps, each a Task

This commit is contained in:
Petr Mrázek
2015-07-21 02:38:15 +02:00
parent 8e7caf4e25
commit 61c5a67777
36 changed files with 1261 additions and 595 deletions

View File

@@ -18,6 +18,7 @@
#include <QObject>
#include <QDateTime>
#include <QSet>
#include <QProcess>
#include "settings/SettingsObject.h"
@@ -89,6 +90,10 @@ public:
void setGroupInitial(QString val);
void setGroupPost(QString val);
QString getPreLaunchCommand();
QString getPostExitCommand();
QString getWrapperCommand();
virtual QStringList extraArguments() const;
virtual QString intendedVersionId() const = 0;
@@ -146,6 +151,12 @@ public:
*/
virtual std::shared_ptr<Task> createJarModdingTask() = 0;
/*!
* Create envrironment variables for running the instance
*/
virtual QProcessEnvironment createEnvironment() = 0;
/*!
* does any necessary cleanups after the instance finishes. also runs before\
* TODO: turn into a task that can run asynchronously
@@ -157,6 +168,9 @@ public:
/// FIXME: this really should be elsewhere...
virtual QString instanceConfigFolder() const = 0;
/// get variables this instance exports
virtual QMap<QString, QString> getVariables() const = 0;
enum InstanceFlag
{
VersionBrokenFlag = 0x01,