From 8a3a0f5a529a95c7511436051b63887dff158c50 Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Thu, 8 May 2014 21:20:10 +0200 Subject: Reorganize logic code. --- logic/java/JavaChecker.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 logic/java/JavaChecker.h (limited to 'logic/java/JavaChecker.h') diff --git a/logic/java/JavaChecker.h b/logic/java/JavaChecker.h new file mode 100644 index 00000000..e19895f7 --- /dev/null +++ b/logic/java/JavaChecker.h @@ -0,0 +1,42 @@ +#pragma once +#include +#include +#include + +class JavaChecker; + + +struct JavaCheckResult +{ + QString path; + QString mojangPlatform; + QString realPlatform; + QString javaVersion; + bool valid = false; + bool is_64bit = false; + int id; +}; + +typedef std::shared_ptr QProcessPtr; +typedef std::shared_ptr JavaCheckerPtr; +class JavaChecker : public QObject +{ + Q_OBJECT +public: + explicit JavaChecker(QObject *parent = 0); + void performCheck(); + + QString path; + int id; + +signals: + void checkFinished(JavaCheckResult result); +private: + QProcessPtr process; + QTimer killTimer; +public +slots: + void timeout(); + void finished(int exitcode, QProcess::ExitStatus); + void error(QProcess::ProcessError); +}; -- cgit