From b6d455a02bd338e9dc0faa09d4d8177ecd8d569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 15:53:05 +0200 Subject: NOISSUE reorganize and document libraries --- libraries/logic/tools/BaseExternalTool.cpp | 41 ---------- libraries/logic/tools/BaseExternalTool.h | 60 -------------- libraries/logic/tools/BaseProfiler.cpp | 35 -------- libraries/logic/tools/BaseProfiler.h | 38 --------- libraries/logic/tools/JProfiler.cpp | 116 --------------------------- libraries/logic/tools/JProfiler.h | 15 ---- libraries/logic/tools/JVisualVM.cpp | 103 ------------------------ libraries/logic/tools/JVisualVM.h | 15 ---- libraries/logic/tools/MCEditTool.cpp | 124 ----------------------------- libraries/logic/tools/MCEditTool.h | 26 ------ 10 files changed, 573 deletions(-) delete mode 100644 libraries/logic/tools/BaseExternalTool.cpp delete mode 100644 libraries/logic/tools/BaseExternalTool.h delete mode 100644 libraries/logic/tools/BaseProfiler.cpp delete mode 100644 libraries/logic/tools/BaseProfiler.h delete mode 100644 libraries/logic/tools/JProfiler.cpp delete mode 100644 libraries/logic/tools/JProfiler.h delete mode 100644 libraries/logic/tools/JVisualVM.cpp delete mode 100644 libraries/logic/tools/JVisualVM.h delete mode 100644 libraries/logic/tools/MCEditTool.cpp delete mode 100644 libraries/logic/tools/MCEditTool.h (limited to 'libraries/logic/tools') diff --git a/libraries/logic/tools/BaseExternalTool.cpp b/libraries/logic/tools/BaseExternalTool.cpp deleted file mode 100644 index 2b97c3c9..00000000 --- a/libraries/logic/tools/BaseExternalTool.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "BaseExternalTool.h" - -#include -#include - -#ifdef Q_OS_WIN -#include -#endif - -#include "BaseInstance.h" - -BaseExternalTool::BaseExternalTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent) - : QObject(parent), m_instance(instance), globalSettings(settings) -{ -} - -BaseExternalTool::~BaseExternalTool() -{ -} - -BaseDetachedTool::BaseDetachedTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent) - : BaseExternalTool(settings, instance, parent) -{ - -} - -void BaseDetachedTool::run() -{ - runImpl(); -} - - -BaseExternalToolFactory::~BaseExternalToolFactory() -{ -} - -BaseDetachedTool *BaseDetachedToolFactory::createDetachedTool(InstancePtr instance, - QObject *parent) -{ - return qobject_cast(createTool(instance, parent)); -} diff --git a/libraries/logic/tools/BaseExternalTool.h b/libraries/logic/tools/BaseExternalTool.h deleted file mode 100644 index fe1b5dc6..00000000 --- a/libraries/logic/tools/BaseExternalTool.h +++ /dev/null @@ -1,60 +0,0 @@ -#pragma once - -#include -#include - -#include "multimc_logic_export.h" - -class BaseInstance; -class SettingsObject; -class QProcess; - -class MULTIMC_LOGIC_EXPORT BaseExternalTool : public QObject -{ - Q_OBJECT -public: - explicit BaseExternalTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - virtual ~BaseExternalTool(); - -protected: - InstancePtr m_instance; - SettingsObjectPtr globalSettings; -}; - -class MULTIMC_LOGIC_EXPORT BaseDetachedTool : public BaseExternalTool -{ - Q_OBJECT -public: - explicit BaseDetachedTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - -public -slots: - void run(); - -protected: - virtual void runImpl() = 0; -}; - -class MULTIMC_LOGIC_EXPORT BaseExternalToolFactory -{ -public: - virtual ~BaseExternalToolFactory(); - - virtual QString name() const = 0; - - virtual void registerSettings(SettingsObjectPtr settings) = 0; - - virtual BaseExternalTool *createTool(InstancePtr instance, QObject *parent = 0) = 0; - - virtual bool check(QString *error) = 0; - virtual bool check(const QString &path, QString *error) = 0; - -protected: - SettingsObjectPtr globalSettings; -}; - -class MULTIMC_LOGIC_EXPORT BaseDetachedToolFactory : public BaseExternalToolFactory -{ -public: - virtual BaseDetachedTool *createDetachedTool(InstancePtr instance, QObject *parent = 0); -}; diff --git a/libraries/logic/tools/BaseProfiler.cpp b/libraries/logic/tools/BaseProfiler.cpp deleted file mode 100644 index 5ff0fa44..00000000 --- a/libraries/logic/tools/BaseProfiler.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "BaseProfiler.h" - -#include - -BaseProfiler::BaseProfiler(SettingsObjectPtr settings, InstancePtr instance, QObject *parent) - : BaseExternalTool(settings, instance, parent) -{ -} - -void BaseProfiler::beginProfiling(std::shared_ptr 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(createTool(instance, parent)); -} diff --git a/libraries/logic/tools/BaseProfiler.h b/libraries/logic/tools/BaseProfiler.h deleted file mode 100644 index 3340b7e4..00000000 --- a/libraries/logic/tools/BaseProfiler.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "BaseExternalTool.h" - -#include "multimc_logic_export.h" - -class BaseInstance; -class SettingsObject; -class LaunchTask; -class QProcess; - -class MULTIMC_LOGIC_EXPORT BaseProfiler : public BaseExternalTool -{ - Q_OBJECT -public: - explicit BaseProfiler(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - -public -slots: - void beginProfiling(std::shared_ptr process); - void abortProfiling(); - -protected: - QProcess *m_profilerProcess; - - virtual void beginProfilingImpl(std::shared_ptr process) = 0; - virtual void abortProfilingImpl(); - -signals: - void readyToLaunch(const QString &message); - void abortLaunch(const QString &message); -}; - -class MULTIMC_LOGIC_EXPORT BaseProfilerFactory : public BaseExternalToolFactory -{ -public: - virtual BaseProfiler *createProfiler(InstancePtr instance, QObject *parent = 0); -}; diff --git a/libraries/logic/tools/JProfiler.cpp b/libraries/logic/tools/JProfiler.cpp deleted file mode 100644 index a0e3c895..00000000 --- a/libraries/logic/tools/JProfiler.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include "JProfiler.h" - -#include - -#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 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 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" diff --git a/libraries/logic/tools/JProfiler.h b/libraries/logic/tools/JProfiler.h deleted file mode 100644 index d658d6c2..00000000 --- a/libraries/logic/tools/JProfiler.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "BaseProfiler.h" - -#include "multimc_logic_export.h" - -class MULTIMC_LOGIC_EXPORT JProfilerFactory : public BaseProfilerFactory -{ -public: - QString name() const override { return "JProfiler"; } - void registerSettings(SettingsObjectPtr settings) override; - BaseExternalTool *createTool(InstancePtr instance, QObject *parent = 0) override; - bool check(QString *error) override; - bool check(const QString &path, QString *error) override; -}; diff --git a/libraries/logic/tools/JVisualVM.cpp b/libraries/logic/tools/JVisualVM.cpp deleted file mode 100644 index 169967d9..00000000 --- a/libraries/logic/tools/JVisualVM.cpp +++ /dev/null @@ -1,103 +0,0 @@ -#include "JVisualVM.h" - -#include -#include - -#include "settings/SettingsObject.h" -#include "launch/LaunchTask.h" -#include "BaseInstance.h" - -class JVisualVM : public BaseProfiler -{ - Q_OBJECT -public: - JVisualVM(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - -private slots: - void profilerStarted(); - void profilerFinished(int exit, QProcess::ExitStatus status); - -protected: - void beginProfilingImpl(std::shared_ptr process); -}; - - -JVisualVM::JVisualVM(SettingsObjectPtr settings, InstancePtr instance, QObject *parent) - : BaseProfiler(settings, instance, parent) -{ -} - -void JVisualVM::profilerStarted() -{ - emit readyToLaunch(tr("JVisualVM started")); -} - -void JVisualVM::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 JVisualVM::beginProfilingImpl(std::shared_ptr process) -{ - QProcess *profiler = new QProcess(this); - QStringList profilerArgs = - { - "--openpid", QString::number(process->pid()) - }; - auto programPath = globalSettings->get("JVisualVMPath").toString(); - - profiler->setArguments(profilerArgs); - profiler->setProgram(programPath); - - connect(profiler, SIGNAL(started()), SLOT(profilerStarted())); - connect(profiler, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(profilerFinished(int,QProcess::ExitStatus))); - - profiler->start(); - m_profilerProcess = profiler; -} - -void JVisualVMFactory::registerSettings(SettingsObjectPtr settings) -{ - QString defaultValue = QStandardPaths::findExecutable("jvisualvm"); - if (defaultValue.isNull()) - { - defaultValue = QStandardPaths::findExecutable("visualvm"); - } - settings->registerSetting("JVisualVMPath", defaultValue); - globalSettings = settings; -} - -BaseExternalTool *JVisualVMFactory::createTool(InstancePtr instance, QObject *parent) -{ - return new JVisualVM(globalSettings, instance, parent); -} - -bool JVisualVMFactory::check(QString *error) -{ - return check(globalSettings->get("JVisualVMPath").toString(), error); -} - -bool JVisualVMFactory::check(const QString &path, QString *error) -{ - if (path.isEmpty()) - { - *error = QObject::tr("Empty path"); - return false; - } - if (!QDir::isAbsolutePath(path) || !QFileInfo(path).isExecutable() || !path.contains("visualvm")) - { - *error = QObject::tr("Invalid path to JVisualVM"); - return false; - } - return true; -} - -#include "JVisualVM.moc" diff --git a/libraries/logic/tools/JVisualVM.h b/libraries/logic/tools/JVisualVM.h deleted file mode 100644 index 0674da13..00000000 --- a/libraries/logic/tools/JVisualVM.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "BaseProfiler.h" - -#include "multimc_logic_export.h" - -class MULTIMC_LOGIC_EXPORT JVisualVMFactory : public BaseProfilerFactory -{ -public: - QString name() const override { return "JVisualVM"; } - void registerSettings(SettingsObjectPtr settings) override; - BaseExternalTool *createTool(InstancePtr instance, QObject *parent = 0) override; - bool check(QString *error) override; - bool check(const QString &path, QString *error) override; -}; diff --git a/libraries/logic/tools/MCEditTool.cpp b/libraries/logic/tools/MCEditTool.cpp deleted file mode 100644 index 32695c8d..00000000 --- a/libraries/logic/tools/MCEditTool.cpp +++ /dev/null @@ -1,124 +0,0 @@ -#include "MCEditTool.h" - -#include -#include -#include - -#include "settings/SettingsObject.h" -#include "BaseInstance.h" -#include "minecraft/MinecraftInstance.h" - -MCEditTool::MCEditTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent) - : BaseDetachedTool(settings, instance, parent) -{ -} - -QString MCEditTool::getSave() const -{ - // FIXME: mixing logic and UI!!!! - auto mcInstance = std::dynamic_pointer_cast(m_instance); - if(!mcInstance) - { - return QString(); - } - QDir saves(mcInstance->minecraftRoot() + "/saves"); - QStringList worlds = saves.entryList(QDir::Dirs | QDir::NoDotAndDotDot); - QMutableListIterator it(worlds); - while (it.hasNext()) - { - it.next(); - if (!QDir(saves.absoluteFilePath(it.value())).exists("level.dat")) - { - it.remove(); - } - } - bool ok = true; - /* - const QString save = QInputDialog::getItem(QApplication::activeWindow(), tr("MCEdit"), tr("Choose which world to open:"), - worlds, 0, false, &ok); - if (ok) - { - return saves.absoluteFilePath(save); - } - */ - return QString(); -} - -void MCEditTool::runImpl() -{ - const QString mceditPath = globalSettings->get("MCEditPath").toString(); - const QString save = getSave(); - if (save.isNull()) - { - return; - } -#ifdef Q_OS_OSX - QProcess *process = new QProcess(); - connect(process, SIGNAL(finished(int, QProcess::ExitStatus)), process, SLOT(deleteLater())); - process->setProgram(mceditPath); - process->setArguments(QStringList() << save); - process->start(); -#else - QDir mceditDir(mceditPath); - QString program; - #ifdef Q_OS_LINUX - if (mceditDir.exists("mcedit.py")) - { - program = mceditDir.absoluteFilePath("mcedit.py"); - } - else if (mceditDir.exists("mcedit.sh")) - { - program = mceditDir.absoluteFilePath("mcedit.sh"); - } - #elif defined(Q_OS_WIN32) - if (mceditDir.exists("mcedit.exe")) - { - program = mceditDir.absoluteFilePath("mcedit.exe"); - } - else if (mceditDir.exists("mcedit2.exe")) - { - program = mceditDir.absoluteFilePath("mcedit2.exe"); - } - #endif - /* - if(program.size()) - { - DesktopServices::openFile(program, save, mceditPath); - } - */ -#endif -} - -void MCEditFactory::registerSettings(SettingsObjectPtr settings) -{ - settings->registerSetting("MCEditPath"); - globalSettings = settings; -} -BaseExternalTool *MCEditFactory::createTool(InstancePtr instance, QObject *parent) -{ - return new MCEditTool(globalSettings, instance, parent); -} -bool MCEditFactory::check(QString *error) -{ - return check(globalSettings->get("MCEditPath").toString(), error); -} -bool MCEditFactory::check(const QString &path, QString *error) -{ - if (path.isEmpty()) - { - *error = QObject::tr("Path is empty"); - return false; - } - const QDir dir(path); - if (!dir.exists()) - { - *error = QObject::tr("Path does not exist"); - return false; - } - if (!dir.exists("mcedit.sh") && !dir.exists("mcedit.py") && !dir.exists("mcedit.exe") && !dir.exists("Contents") && !dir.exists("mcedit2.exe")) - { - *error = QObject::tr("Path does not seem to be a MCEdit path"); - return false; - } - return true; -} diff --git a/libraries/logic/tools/MCEditTool.h b/libraries/logic/tools/MCEditTool.h deleted file mode 100644 index c287f1ea..00000000 --- a/libraries/logic/tools/MCEditTool.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "BaseExternalTool.h" - -#include "multimc_logic_export.h" - -class MULTIMC_LOGIC_EXPORT MCEditTool : public BaseDetachedTool -{ - Q_OBJECT -public: - explicit MCEditTool(SettingsObjectPtr settings, InstancePtr instance, QObject *parent = 0); - -protected: - QString getSave() const; - void runImpl() override; -}; - -class MULTIMC_LOGIC_EXPORT MCEditFactory : public BaseDetachedToolFactory -{ -public: - QString name() const override { return "MCEdit"; } - void registerSettings(SettingsObjectPtr settings) override; - BaseExternalTool *createTool(InstancePtr instance, QObject *parent = 0) override; - bool check(QString *error) override; - bool check(const QString &path, QString *error) override; -}; -- cgit v1.2.3