summaryrefslogtreecommitdiffstats
path: root/logic/BaseInstance.h
diff options
context:
space:
mode:
Diffstat (limited to 'logic/BaseInstance.h')
-rw-r--r--logic/BaseInstance.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/logic/BaseInstance.h b/logic/BaseInstance.h
index 7152ba2d..6201f1ac 100644
--- a/logic/BaseInstance.h
+++ b/logic/BaseInstance.h
@@ -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,