From 3de45d8c552e642bba7523b634953175c6acc947 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 30 Jul 2013 14:08:01 +0200 Subject: Analyzer: Merge IAnalyzerEngine and AnalyzerRunControl Change-Id: I74edaef59600a44924d2692c1ebc7f98d8581115 Reviewed-by: Christiaan Janssen --- src/plugins/analyzerbase/analyzerruncontrol.cpp | 122 +++++------------------- 1 file changed, 23 insertions(+), 99 deletions(-) (limited to 'src/plugins/analyzerbase/analyzerruncontrol.cpp') diff --git a/src/plugins/analyzerbase/analyzerruncontrol.cpp b/src/plugins/analyzerbase/analyzerruncontrol.cpp index f7197126a7..8a4c2b50bf 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrol.cpp @@ -29,14 +29,10 @@ ****************************************************************************/ #include "analyzerruncontrol.h" -#include "ianalyzerengine.h" #include "ianalyzertool.h" #include "analyzermanager.h" #include "analyzerstartparameters.h" -#include -#include - #include #include @@ -44,117 +40,64 @@ using namespace ProjectExplorer; ////////////////////////////////////////////////////////////////////////// // -// AnalyzerRunControl::Private +// AnalyzerRunControl // ////////////////////////////////////////////////////////////////////////// namespace Analyzer { -class AnalyzerRunControl::Private +AnalyzerRunControl::AnalyzerRunControl(const AnalyzerStartParameters &sp, + ProjectExplorer::RunConfiguration *runConfiguration) + : RunControl(runConfiguration, sp.runMode) { -public: - Private(); - - bool m_isRunning; - IAnalyzerEngine *m_engine; -}; - -AnalyzerRunControl::Private::Private() - : m_isRunning(false), m_engine(0) -{} - - -////////////////////////////////////////////////////////////////////////// -// -// AnalyzerRunControl -// -////////////////////////////////////////////////////////////////////////// - -AnalyzerRunControl::AnalyzerRunControl(IAnalyzerTool *tool, - const AnalyzerStartParameters &sp, RunConfiguration *runConfiguration) - : RunControl(runConfiguration, tool->runMode()), - d(new Private) -{ - d->m_engine = tool->createEngine(sp, runConfiguration); - - if (!d->m_engine) - return; - - connect(d->m_engine, SIGNAL(outputReceived(QString,Utils::OutputFormat)), - SLOT(receiveOutput(QString,Utils::OutputFormat))); - connect(d->m_engine, SIGNAL(taskToBeAdded(ProjectExplorer::Task::TaskType,QString,QString,int)), - SLOT(addTask(ProjectExplorer::Task::TaskType,QString,QString,int))); - connect(d->m_engine, SIGNAL(finished()), - SLOT(engineFinished())); + m_runConfig = runConfiguration; + m_sp = sp; + connect(this, SIGNAL(finished()), SLOT(runControlFinished())); connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), SLOT(stopIt())); } -AnalyzerRunControl::~AnalyzerRunControl() +void AnalyzerRunControl::stopIt() { - if (d->m_isRunning) - stop(); + if (stop() == RunControl::StoppedSynchronously) + AnalyzerManager::handleToolFinished(); +} - delete d->m_engine; - d->m_engine = 0; - delete d; +void AnalyzerRunControl::runControlFinished() +{ + m_isRunning = false; + AnalyzerManager::handleToolFinished(); + emit finished(); } void AnalyzerRunControl::start() { - if (!d->m_engine) { - emit finished(); - return; - } - AnalyzerManager::handleToolStarted(); - // Clear about-to-be-outdated tasks. - ProjectExplorerPlugin::instance()->taskHub() - ->clearTasks(Core::Id(Constants::ANALYZERTASK_ID)); - - if (d->m_engine->start()) { - d->m_isRunning = true; + if (startEngine()) { + m_isRunning = true; emit started(); } } RunControl::StopResult AnalyzerRunControl::stop() { - if (!d->m_engine || !d->m_isRunning) + if (!m_isRunning) return StoppedSynchronously; - d->m_engine->stop(); - d->m_isRunning = false; + stopEngine(); + m_isRunning = false; return AsynchronousStop; } -void AnalyzerRunControl::stopIt() -{ - if (stop() == RunControl::StoppedSynchronously) - AnalyzerManager::handleToolFinished(); -} - -void AnalyzerRunControl::engineFinished() -{ - d->m_isRunning = false; - AnalyzerManager::handleToolFinished(); - emit finished(); -} - bool AnalyzerRunControl::isRunning() const { - return d->m_isRunning; + return m_isRunning; } QString AnalyzerRunControl::displayName() const { - if (!d->m_engine) - return QString(); - if (d->m_engine->runConfiguration()) - return d->m_engine->runConfiguration()->displayName(); - else - return d->m_engine->startParameters().displayName; + return m_runConfig ? m_runConfig->displayName() : m_sp.displayName; } QIcon AnalyzerRunControl::icon() const @@ -162,23 +105,4 @@ QIcon AnalyzerRunControl::icon() const return QIcon(QLatin1String(":/images/analyzer_start_small.png")); } -IAnalyzerEngine *AnalyzerRunControl::engine() const -{ - return d->m_engine; -} - -void AnalyzerRunControl::receiveOutput(const QString &text, Utils::OutputFormat format) -{ - appendMessage(text, format); -} - -void AnalyzerRunControl::addTask(Task::TaskType type, const QString &description, - const QString &file, int line) -{ - TaskHub *hub = ProjectExplorerPlugin::instance()->taskHub(); - hub->addTask(Task(type, description, Utils::FileName::fromUserInput(file), line, - Core::Id(Constants::ANALYZERTASK_ID))); - hub->requestPopup(); -} - } // namespace Analyzer -- cgit v1.2.1