diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-06-16 09:19:55 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-06-30 07:16:20 +0200 |
commit | 5628d3d379785c9c6f4a595c70392d9b1e9ea4df (patch) | |
tree | 586eb775fd1f3014ff4dd36984176530af5e70b3 /logic/BaseLauncher.h | |
parent | f86a39c21c9898c0b5966abb2b4907eb0b5bac1d (diff) | |
download | MultiMC-5628d3d379785c9c6f4a595c70392d9b1e9ea4df.tar MultiMC-5628d3d379785c9c6f4a595c70392d9b1e9ea4df.tar.gz MultiMC-5628d3d379785c9c6f4a595c70392d9b1e9ea4df.tar.lz MultiMC-5628d3d379785c9c6f4a595c70392d9b1e9ea4df.tar.xz MultiMC-5628d3d379785c9c6f4a595c70392d9b1e9ea4df.zip |
SCRATCH squash MinecraftLauncher into BaseLauncher
needs to be split differently
needs to be squashed together with the logic from MainWindow
Diffstat (limited to 'logic/BaseLauncher.h')
-rw-r--r-- | logic/BaseLauncher.h | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/logic/BaseLauncher.h b/logic/BaseLauncher.h index f47d3351..59e1fdbb 100644 --- a/logic/BaseLauncher.h +++ b/logic/BaseLauncher.h @@ -20,6 +20,8 @@ #include "BaseInstance.h" #include "MessageLevel.h" #include "LoggedProcess.h" +/* HACK: MINECRAFT: split! */ +#include "minecraft/MinecraftInstance.h" class BaseLauncher: public QObject { @@ -29,6 +31,7 @@ protected: void init(); public: /* methods */ + static BaseLauncher *create(MinecraftInstancePtr inst); virtual ~BaseLauncher() {}; InstancePtr instance() @@ -51,17 +54,34 @@ public: /* methods */ /** * @brief prepare the process for launch (for multi-stage launch) */ - virtual void arm() = 0; + virtual void arm(); /** * @brief launch the armed instance */ - virtual void launch() = 0; + virtual void launch(); /** * @brief abort launch */ - virtual void abort() = 0; + virtual void abort(); + +public: /* HACK: MINECRAFT: split! */ + void setLaunchScript(QString script) + { + launchScript = script; + } + + void setNativeFolder(QString natives) + { + m_nativeFolder = natives; + } + + inline void setLogin(AuthSessionPtr session) + { + m_session = session; + } + protected: /* methods */ void preLaunch(); @@ -71,9 +91,9 @@ protected: /* methods */ void printHeader(); - virtual QMap<QString, QString> getVariables() const = 0; - virtual QString censorPrivateInfo(QString in) = 0; - virtual MessageLevel::Enum guessLevel(const QString &message, MessageLevel::Enum defaultLevel) = 0; + virtual QMap<QString, QString> getVariables() const; + virtual QString censorPrivateInfo(QString in); + virtual MessageLevel::Enum guessLevel(const QString &message, MessageLevel::Enum defaultLevel); signals: /** @@ -122,4 +142,13 @@ protected: bool killed = false; QString m_header; + +protected: /* HACK: MINECRAFT: split! */ + AuthSessionPtr m_session; + QString launchScript; + QString m_nativeFolder; + +protected: /* HACK: MINECRAFT: split! */ + bool checkJava(QString path); + QStringList javaArguments() const; }; |