summaryrefslogtreecommitdiffstats
path: root/logic/BaseLauncher.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-07-10 01:11:06 +0200
committerPetr Mrázek <peterix@gmail.com>2015-07-10 01:11:06 +0200
commit8e7caf4e25dc3f56877a504c45d157860215496b (patch)
tree4ce3ea68190d4b693519ad6f76473b5b8f4da8be /logic/BaseLauncher.h
parent5dd48e89f5a7facf8355641d0caf8deaec2a03ec (diff)
downloadMultiMC-8e7caf4e25dc3f56877a504c45d157860215496b.tar
MultiMC-8e7caf4e25dc3f56877a504c45d157860215496b.tar.gz
MultiMC-8e7caf4e25dc3f56877a504c45d157860215496b.tar.lz
MultiMC-8e7caf4e25dc3f56877a504c45d157860215496b.tar.xz
MultiMC-8e7caf4e25dc3f56877a504c45d157860215496b.zip
GH-1053 move launch related things and rename them
Diffstat (limited to 'logic/BaseLauncher.h')
-rw-r--r--logic/BaseLauncher.h178
1 files changed, 0 insertions, 178 deletions
diff --git a/logic/BaseLauncher.h b/logic/BaseLauncher.h
deleted file mode 100644
index f7b52c89..00000000
--- a/logic/BaseLauncher.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright 2013-2015 MultiMC Contributors
- *
- * Authors: Orochimarufan <orochimarufan.x3@gmail.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-#include <QProcess>
-#include "BaseInstance.h"
-#include "MessageLevel.h"
-#include "LoggedProcess.h"
-/* HACK: MINECRAFT: split! */
-#include "minecraft/MinecraftInstance.h"
-#include "java/JavaChecker.h"
-#include "QObjectPtr.h"
-#include "tasks/Task.h"
-
-class ProcessTask
-{
-
-};
-
-class BaseProfilerFactory;
-class BaseLauncher: public Task
-{
- Q_OBJECT
-protected:
- explicit BaseLauncher(InstancePtr instance);
- void init();
-
-public: /* methods */
- static std::shared_ptr<BaseLauncher> create(MinecraftInstancePtr inst);
- virtual ~BaseLauncher() {};
-
- InstancePtr instance()
- {
- return m_instance;
- }
-
- /// Set the text printed on top of the log
- void setHeader(QString header)
- {
- m_header = header;
- }
-
- void setWorkdir(QString path);
-
- void killProcess();
-
- qint64 pid();
-
- /**
- * @brief prepare the process for launch (for multi-stage launch)
- */
- virtual void executeTask() override;
-
- /**
- * @brief launch the armed instance
- */
- virtual void launch();
-
- /**
- * @brief abort launch
- */
- 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();
- void updateInstance();
- void doJarModding();
- void makeReady();
- void postLaunch();
- virtual void emitFailed(QString reason);
- virtual void emitSucceeded();
- QString substituteVariables(const QString &cmd) const;
- void initializeEnvironment();
-
- void printHeader();
-
- virtual QMap<QString, QString> getVariables() const;
- virtual QString censorPrivateInfo(QString in);
- virtual MessageLevel::Enum guessLevel(const QString &message, MessageLevel::Enum defaultLevel);
-
-protected slots:
- void jarModdingSucceeded();
- void jarModdingFailed(QString reason);
-
-signals:
- /**
- * @brief emitted when the launch preparations are done
- */
- void readyForLaunch();
-
- /**
- * @brief emitted when we want to log something
- * @param text the text to log
- * @param level the level to log at
- */
- void log(QString text, MessageLevel::Enum level = MessageLevel::MultiMC);
-
-protected slots:
- void on_log(QStringList lines, MessageLevel::Enum level);
- void logOutput(const QStringList& lines, MessageLevel::Enum defaultLevel = MessageLevel::Message);
- void logOutput(QString line, MessageLevel::Enum defaultLevel = MessageLevel::Message);
-
- void on_pre_state(LoggedProcess::State state);
- void on_state(LoggedProcess::State state);
- void on_post_state(LoggedProcess::State state);
-
-
-
-protected:
- InstancePtr m_instance;
-
- LoggedProcess m_prelaunchprocess;
- LoggedProcess m_postlaunchprocess;
- LoggedProcess m_process;
- QProcessEnvironment m_env;
- BaseProfilerFactory * m_profiler = nullptr;
-
- bool killed = false;
- QString m_header;
-
-/**
- * java check step
- */
-protected slots:
- void checkJavaFinished(JavaCheckResult result);
-
-protected:
- // for java checker and launch
- QString m_javaPath;
- qlonglong m_javaUnixTime;
- std::shared_ptr<JavaChecker> m_JavaChecker;
-
-protected: /* HACK: MINECRAFT: split! */
- AuthSessionPtr m_session;
- QString launchScript;
- QString m_nativeFolder;
- std::shared_ptr<Task> m_updateTask;
- std::shared_ptr<Task> m_jarModTask;
-
-protected: /* HACK: MINECRAFT: split! */
- void checkJava();
- QStringList javaArguments() const;
-private slots:
- void updateFinished();
-};
-
-class BaseProfilerFactory; \ No newline at end of file