summaryrefslogtreecommitdiffstats
path: root/logic/tools/BaseProfiler.h
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2014-02-16 12:52:35 +0100
committerJan Dalheimer <jan@dalheimer.de>2014-02-16 12:52:35 +0100
commit9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79 (patch)
treecac60e920a67584cf90805382db4464c0e23b03e /logic/tools/BaseProfiler.h
parentf26b7dedad70a46769b4c96122a7615b328a9fbb (diff)
downloadMultiMC-9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79.tar
MultiMC-9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79.tar.gz
MultiMC-9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79.tar.lz
MultiMC-9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79.tar.xz
MultiMC-9c87bc6c4b99f0c93f2b18039208dcf9f3fb4d79.zip
Restructure
Diffstat (limited to 'logic/tools/BaseProfiler.h')
-rw-r--r--logic/tools/BaseProfiler.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/logic/tools/BaseProfiler.h b/logic/tools/BaseProfiler.h
new file mode 100644
index 00000000..ec57578e
--- /dev/null
+++ b/logic/tools/BaseProfiler.h
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "BaseExternalTool.h"
+
+class BaseInstance;
+class SettingsObject;
+class MinecraftProcess;
+class QProcess;
+
+class BaseProfiler : public BaseExternalTool
+{
+ Q_OBJECT
+public:
+ explicit BaseProfiler(BaseInstance *instance, QObject *parent = 0);
+
+public
+slots:
+ void beginProfiling(MinecraftProcess *process);
+ void abortProfiling();
+
+protected:
+ QProcess *m_profilerProcess;
+
+ virtual void beginProfilingImpl(MinecraftProcess *process) = 0;
+ virtual void abortProfilingImpl();
+
+signals:
+ void readyToLaunch(const QString &message);
+ void abortLaunch(const QString &message);
+};
+
+class BaseProfilerFactory : public BaseExternalToolFactory
+{
+public:
+ virtual BaseProfiler *createProfiler(BaseInstance *instance, QObject *parent = 0);
+};