MultiMC5/launcher/tools/BaseProfiler.cpp

37 lines
813 B
C++

#include "BaseProfiler.h"
#include "QObjectPtr.h"
#include <QProcess>
BaseProfiler::BaseProfiler(SettingsObjectPtr settings, InstancePtr instance, QObject *parent)
: BaseExternalTool(settings, instance, parent)
{
}
void BaseProfiler::beginProfiling(shared_qobject_ptr<LaunchTask> process)
{
beginProfilingImpl(process);
}
void BaseProfiler::abortProfiling()
{
abortProfilingImpl();
}
void BaseProfiler::abortProfilingImpl()
{
if (!m_profilerProcess)
{
return;
}
m_profilerProcess->terminate();
m_profilerProcess->deleteLater();
m_profilerProcess = 0;
emit abortLaunch(tr("Profiler aborted"));
}
BaseProfiler *BaseProfilerFactory::createProfiler(InstancePtr instance, QObject *parent)
{
return qobject_cast<BaseProfiler *>(createTool(instance, parent));
}