summaryrefslogtreecommitdiffstats
path: root/api/logic/launch/LoggedProcess.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2016-11-03 01:10:16 +0100
committerPetr Mrázek <peterix@gmail.com>2016-11-03 01:11:57 +0100
commitf0b71f989ea798495ad80d1f059ae0a28514f9a2 (patch)
tree8551131b5ce3ccaa3c422f6635aefdbf6ca149ff /api/logic/launch/LoggedProcess.h
parentac66af6c13604a4eb2d36cc82417aa6753b84afe (diff)
downloadMultiMC-f0b71f989ea798495ad80d1f059ae0a28514f9a2.tar
MultiMC-f0b71f989ea798495ad80d1f059ae0a28514f9a2.tar.gz
MultiMC-f0b71f989ea798495ad80d1f059ae0a28514f9a2.tar.lz
MultiMC-f0b71f989ea798495ad80d1f059ae0a28514f9a2.tar.xz
MultiMC-f0b71f989ea798495ad80d1f059ae0a28514f9a2.zip
NOISSUE use LoggedProcess to work around issues with QProcess on macOS
Diffstat (limited to 'api/logic/launch/LoggedProcess.h')
-rw-r--r--api/logic/launch/LoggedProcess.h79
1 files changed, 0 insertions, 79 deletions
diff --git a/api/logic/launch/LoggedProcess.h b/api/logic/launch/LoggedProcess.h
deleted file mode 100644
index c4e5c52c..00000000
--- a/api/logic/launch/LoggedProcess.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2013-2015 MultiMC Contributors
- *
- * 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 "MessageLevel.h"
-
-/*
- * This is a basic process.
- * It has line-based logging support and hides some of the nasty bits.
- */
-class LoggedProcess : public QProcess
-{
-Q_OBJECT
-public:
- enum State
- {
- NotRunning,
- Starting,
- FailedToStart,
- Running,
- Finished,
- Crashed,
- Aborted
- };
-
-public:
- explicit LoggedProcess(QObject* parent = 0);
- virtual ~LoggedProcess();
-
- State state() const;
- int exitCode() const;
- qint64 processId() const;
-
- void setDetachable(bool detachable);
-
-signals:
- void log(QStringList lines, MessageLevel::Enum level);
- void stateChanged(LoggedProcess::State state);
-
-public slots:
- /**
- * @brief kill the process - equivalent to kill -9
- */
- void kill();
-
-
-private slots:
- void on_stdErr();
- void on_stdOut();
- void on_exit(int exit_code, QProcess::ExitStatus status);
- void on_error(QProcess::ProcessError error);
- void on_stateChange(QProcess::ProcessState);
-
-private:
- void changeState(LoggedProcess::State state);
-
-private:
- QString m_err_leftover;
- QString m_out_leftover;
- bool m_killed = false;
- State m_state = NotRunning;
- int m_exit_code = 0;
- bool m_is_aborting = false;
- bool m_is_detachable = false;
-};