mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-12-14 04:32:14 +00:00
Fix more stuff. Detached tools, only MCEdit for now.
This commit is contained in:
@@ -1,16 +1,9 @@
|
||||
#include "BaseProfiler.h"
|
||||
|
||||
#include <QProcess>
|
||||
#ifdef Q_OS_WIN
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
BaseProfiler::BaseProfiler(BaseInstance *instance, QObject *parent)
|
||||
: QObject(parent), m_instance(instance)
|
||||
{
|
||||
}
|
||||
|
||||
BaseProfiler::~BaseProfiler()
|
||||
: BaseExternalTool(instance, parent)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -36,16 +29,7 @@ void BaseProfiler::abortProfilingImpl()
|
||||
emit abortLaunch(tr("Profiler aborted"));
|
||||
}
|
||||
|
||||
qint64 BaseProfiler::pid(QProcess *process)
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
struct _PROCESS_INFORMATION *procinfo = process->pid();
|
||||
return procinfo->dwProcessId;
|
||||
#else
|
||||
return process->pid();
|
||||
#endif
|
||||
}
|
||||
|
||||
BaseProfilerFactory::~BaseProfilerFactory()
|
||||
BaseProfiler *BaseProfilerFactory::createProfiler(BaseInstance *instance, QObject *parent)
|
||||
{
|
||||
return qobject_cast<BaseProfiler *>(createTool(instance, parent));
|
||||
}
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "logic/BaseExternalTool.h"
|
||||
|
||||
class BaseInstance;
|
||||
class SettingsObject;
|
||||
class MinecraftProcess;
|
||||
class QProcess;
|
||||
|
||||
class BaseProfiler : public QObject
|
||||
class BaseProfiler : public BaseExternalTool
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit BaseProfiler(BaseInstance *instance, QObject *parent = 0);
|
||||
virtual ~BaseProfiler();
|
||||
|
||||
public
|
||||
slots:
|
||||
@@ -20,30 +19,18 @@ slots:
|
||||
void abortProfiling();
|
||||
|
||||
protected:
|
||||
BaseInstance *m_instance;
|
||||
QProcess *m_profilerProcess;
|
||||
|
||||
virtual void beginProfilingImpl(MinecraftProcess *process) = 0;
|
||||
virtual void abortProfilingImpl();
|
||||
|
||||
qint64 pid(QProcess *process);
|
||||
|
||||
signals:
|
||||
void readyToLaunch(const QString &message);
|
||||
void abortLaunch(const QString &message);
|
||||
};
|
||||
|
||||
class BaseProfilerFactory
|
||||
class BaseProfilerFactory : public BaseExternalToolFactory
|
||||
{
|
||||
public:
|
||||
virtual ~BaseProfilerFactory();
|
||||
|
||||
virtual QString name() const = 0;
|
||||
|
||||
virtual void registerSettings(SettingsObject *settings) = 0;
|
||||
|
||||
virtual BaseProfiler *createProfiler(BaseInstance *instance, QObject *parent = 0) = 0;
|
||||
|
||||
virtual bool check(QString *error) = 0;
|
||||
virtual bool check(const QString &path, QString *error) = 0;
|
||||
virtual BaseProfiler *createProfiler(BaseInstance *instance, QObject *parent = 0);
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ void JProfilerFactory::registerSettings(SettingsObject *settings)
|
||||
settings->registerSetting("JProfilerPort", 42042);
|
||||
}
|
||||
|
||||
BaseProfiler *JProfilerFactory::createProfiler(BaseInstance *instance, QObject *parent)
|
||||
BaseExternalTool *JProfilerFactory::createTool(BaseInstance *instance, QObject *parent)
|
||||
{
|
||||
return new JProfiler(instance, parent);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ class JProfilerFactory : public BaseProfilerFactory
|
||||
public:
|
||||
QString name() const override { return "JProfiler"; }
|
||||
void registerSettings(SettingsObject *settings) override;
|
||||
BaseProfiler *createProfiler(BaseInstance *instance, QObject *parent = 0) override;
|
||||
BaseExternalTool *createTool(BaseInstance *instance, QObject *parent = 0) override;
|
||||
bool check(QString *error) override;
|
||||
bool check(const QString &path, QString *error) override;
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ void JVisualVMFactory::registerSettings(SettingsObject *settings)
|
||||
settings->registerSetting("JVisualVMPath");
|
||||
}
|
||||
|
||||
BaseProfiler *JVisualVMFactory::createProfiler(BaseInstance *instance, QObject *parent)
|
||||
BaseExternalTool *JVisualVMFactory::createTool(BaseInstance *instance, QObject *parent)
|
||||
{
|
||||
return new JVisualVM(instance, parent);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ class JVisualVMFactory : public BaseProfilerFactory
|
||||
public:
|
||||
QString name() const override { return "JVisualVM"; }
|
||||
void registerSettings(SettingsObject *settings) override;
|
||||
BaseProfiler *createProfiler(BaseInstance *instance, QObject *parent = 0) override;
|
||||
BaseExternalTool *createTool(BaseInstance *instance, QObject *parent = 0) override;
|
||||
bool check(QString *error) override;
|
||||
bool check(const QString &path, QString *error) override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user