diff options
Diffstat (limited to 'logic/tools/BaseProfiler.h')
-rw-r--r-- | logic/tools/BaseProfiler.h | 36 |
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); +}; |