diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-04-10 04:29:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-04-30 23:59:23 +0200 |
commit | 47e37635f50c09b4f9a9ee7699e3120bab3e4088 (patch) | |
tree | 061c2f675fb7e244ebe4b54ef206bfbd615c91f8 /logic/tools/JProfiler.cpp | |
parent | fcd4a482f759cd58ee319a51082d0146b7e426e2 (diff) | |
download | MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.gz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.lz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.xz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.zip |
NOISSUE split GUI stuff from logic library
Diffstat (limited to 'logic/tools/JProfiler.cpp')
-rw-r--r-- | logic/tools/JProfiler.cpp | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/logic/tools/JProfiler.cpp b/logic/tools/JProfiler.cpp deleted file mode 100644 index 45b33f79..00000000 --- a/logic/tools/JProfiler.cpp +++ /dev/null @@ -1,117 +0,0 @@ -#include "JProfiler.h" - -#include <QDir> -#include <QMessageBox> - -#include "settings/SettingsObject.h" -#include "launch/LaunchTask.h" -#include "BaseInstance.h" - -class JProfiler : public BaseProfiler -{ - Q_OBJECT -public: - JProfiler(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - -private slots: - void profilerStarted(); - void profilerFinished(int exit, QProcess::ExitStatus status); - -protected: - void beginProfilingImpl(std::shared_ptr<LaunchTask> process); - -private: - int listeningPort = 0; -}; - -JProfiler::JProfiler(SettingsObjectPtr settings, InstancePtr instance, - QObject *parent) - : BaseProfiler(settings, instance, parent) -{ -} - -void JProfiler::profilerStarted() -{ - emit readyToLaunch(tr("Listening on port: %1").arg(listeningPort)); -} - -void JProfiler::profilerFinished(int exit, QProcess::ExitStatus status) -{ - if (status == QProcess::CrashExit) - { - emit abortLaunch(tr("Profiler aborted")); - } - if (m_profilerProcess) - { - m_profilerProcess->deleteLater(); - m_profilerProcess = 0; - } -} - -void JProfiler::beginProfilingImpl(std::shared_ptr<LaunchTask> process) -{ - listeningPort = globalSettings->get("JProfilerPort").toInt(); - QProcess *profiler = new QProcess(this); - QStringList profilerArgs = - { - "-d", QString::number(process->pid()), - "--gui", - "-p", QString::number(listeningPort) - }; - auto basePath = globalSettings->get("JProfilerPath").toString(); - -#ifdef Q_OS_WIN - QString profilerProgram = QDir(basePath).absoluteFilePath("bin/jpenable.exe"); -#else - QString profilerProgram = QDir(basePath).absoluteFilePath("bin/jpenable"); -#endif - - profiler->setArguments(profilerArgs); - profiler->setProgram(profilerProgram); - - connect(profiler, SIGNAL(started()), SLOT(profilerStarted())); - connect(profiler, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(profilerFinished(int,QProcess::ExitStatus))); - - m_profilerProcess = profiler; - profiler->start(); -} - -void JProfilerFactory::registerSettings(SettingsObjectPtr settings) -{ - settings->registerSetting("JProfilerPath"); - settings->registerSetting("JProfilerPort", 42042); - globalSettings = settings; -} - -BaseExternalTool *JProfilerFactory::createTool(InstancePtr instance, QObject *parent) -{ - return new JProfiler(globalSettings, instance, parent); -} - -bool JProfilerFactory::check(QString *error) -{ - return check(globalSettings->get("JProfilerPath").toString(), error); -} - -bool JProfilerFactory::check(const QString &path, QString *error) -{ - if (path.isEmpty()) - { - *error = QObject::tr("Empty path"); - return false; - } - QDir dir(path); - if (!dir.exists()) - { - *error = QObject::tr("Path does not exist"); - return false; - } - if (!dir.exists("bin") || !(dir.exists("bin/jprofiler") || dir.exists("bin/jprofiler.exe")) || !dir.exists("bin/agent.jar")) - { - *error = QObject::tr("Invalid JProfiler install"); - return false; - } - return true; -} - -#include "JProfiler.moc" |