From 0d06dbb5b2ff1c223fec2f22a9093fb80cbd4621 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 7 Jul 2017 18:49:26 +0200 Subject: [PATCH] BareMetal: Dissolve BareMetalRunControlFactory Less code. Change-Id: Ie3bd75557e4f4b5acff65a9b3a074692ea652253 Reviewed-by: hjk --- src/plugins/baremetal/baremetal.pro | 2 - src/plugins/baremetal/baremetal.qbs | 1 - src/plugins/baremetal/baremetalplugin.cpp | 18 +++++- .../baremetal/baremetalruncontrolfactory.cpp | 61 ------------------- .../baremetal/baremetalruncontrolfactory.h | 50 --------------- 5 files changed, 16 insertions(+), 116 deletions(-) delete mode 100644 src/plugins/baremetal/baremetalruncontrolfactory.cpp delete mode 100644 src/plugins/baremetal/baremetalruncontrolfactory.h diff --git a/src/plugins/baremetal/baremetal.pro b/src/plugins/baremetal/baremetal.pro index f77ad11412a..d6294b5ab79 100644 --- a/src/plugins/baremetal/baremetal.pro +++ b/src/plugins/baremetal/baremetal.pro @@ -10,7 +10,6 @@ SOURCES += baremetalplugin.cpp \ baremetalrunconfiguration.cpp \ baremetalrunconfigurationwidget.cpp \ baremetalgdbcommandsdeploystep.cpp \ - baremetalruncontrolfactory.cpp \ baremetaldeviceconfigurationwizardpages.cpp \ baremetaldeviceconfigurationwizard.cpp \ baremetaldeviceconfigurationwidget.cpp \ @@ -33,7 +32,6 @@ HEADERS += baremetalplugin.h \ baremetalrunconfiguration.h \ baremetalrunconfigurationwidget.h \ baremetalgdbcommandsdeploystep.h \ - baremetalruncontrolfactory.h \ baremetaldeviceconfigurationfactory.h \ baremetaldeviceconfigurationwidget.h \ baremetaldeviceconfigurationwizard.h \ diff --git a/src/plugins/baremetal/baremetal.qbs b/src/plugins/baremetal/baremetal.qbs index 0474e562d13..74b56d611d3 100644 --- a/src/plugins/baremetal/baremetal.qbs +++ b/src/plugins/baremetal/baremetal.qbs @@ -26,7 +26,6 @@ QtcPlugin { "baremetalrunconfiguration.cpp", "baremetalrunconfiguration.h", "baremetalrunconfigurationfactory.cpp", "baremetalrunconfigurationfactory.h", "baremetalrunconfigurationwidget.cpp", "baremetalrunconfigurationwidget.h", - "baremetalruncontrolfactory.cpp", "baremetalruncontrolfactory.h", "baremetaldebugsupport.cpp", "baremetaldebugsupport.h", "gdbserverproviderprocess.cpp", "gdbserverproviderprocess.h", "gdbserverproviderssettingspage.cpp", "gdbserverproviderssettingspage.h", diff --git a/src/plugins/baremetal/baremetalplugin.cpp b/src/plugins/baremetal/baremetalplugin.cpp index 2413236bc90..2e978f72333 100644 --- a/src/plugins/baremetal/baremetalplugin.cpp +++ b/src/plugins/baremetal/baremetalplugin.cpp @@ -27,7 +27,8 @@ #include "baremetalplugin.h" #include "baremetalconstants.h" #include "baremetaldeviceconfigurationfactory.h" -#include "baremetalruncontrolfactory.h" +#include "baremetaldebugsupport.h" +#include "baremetalrunconfiguration.h" #include "baremetalrunconfigurationfactory.h" #include "gdbserverproviderssettingspage.h" @@ -46,6 +47,8 @@ #include #include +using namespace ProjectExplorer; + namespace BareMetal { namespace Internal { @@ -64,11 +67,22 @@ bool BareMetalPlugin::initialize(const QStringList &arguments, QString *errorStr Q_UNUSED(errorString) addAutoReleasedObject(new BareMetalDeviceConfigurationFactory); - addAutoReleasedObject(new BareMetalRunControlFactory); addAutoReleasedObject(new BareMetalRunConfigurationFactory); addAutoReleasedObject(new GdbServerProvidersSettingsPage); addAutoReleasedObject(new GdbServerProviderManager); + auto constraint = [](RunConfiguration *runConfig) { + const QByteArray idStr = runConfig->id().name(); + return runConfig->isEnabled() && idStr.startsWith(BareMetalRunConfiguration::IdPrefix); + }; + + RunControl::registerWorker + (ProjectExplorer::Constants::NORMAL_RUN_MODE, constraint); + RunControl::registerWorker + (ProjectExplorer::Constants::DEBUG_RUN_MODE, constraint); + RunControl::registerWorker + (ProjectExplorer::Constants::DEBUG_RUN_MODE_WITH_BREAK_ON_MAIN, constraint); + return true; } diff --git a/src/plugins/baremetal/baremetalruncontrolfactory.cpp b/src/plugins/baremetal/baremetalruncontrolfactory.cpp deleted file mode 100644 index 07c3b8b66e9..00000000000 --- a/src/plugins/baremetal/baremetalruncontrolfactory.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Tim Sander -** Copyright (C) 2016 Denis Shienkov -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#include "baremetalruncontrolfactory.h" -#include "baremetaldebugsupport.h" - -using namespace ProjectExplorer; - -namespace BareMetal { -namespace Internal { - -BareMetalRunControlFactory::BareMetalRunControlFactory(QObject *parent) : - IRunControlFactory(parent) -{ -} - -bool BareMetalRunControlFactory::canRun(RunConfiguration *runConfiguration, Core::Id mode) const -{ - if (mode != ProjectExplorer::Constants::NORMAL_RUN_MODE - && mode != ProjectExplorer::Constants::DEBUG_RUN_MODE - && mode != ProjectExplorer::Constants::DEBUG_RUN_MODE_WITH_BREAK_ON_MAIN) { - return false; - } - - const QByteArray idStr = runConfiguration->id().name(); - return runConfiguration->isEnabled() && idStr.startsWith(BareMetalRunConfiguration::IdPrefix); -} - -RunControl *BareMetalRunControlFactory::create( - RunConfiguration *runConfiguration, Core::Id mode, QString *) -{ - auto runControl = new RunControl(runConfiguration, mode); - (void) new BareMetalDebugSupport(runControl); - return runControl; -} - -} // namespace Internal -} // namespace BareMetal diff --git a/src/plugins/baremetal/baremetalruncontrolfactory.h b/src/plugins/baremetal/baremetalruncontrolfactory.h deleted file mode 100644 index 4e53d87518a..00000000000 --- a/src/plugins/baremetal/baremetalruncontrolfactory.h +++ /dev/null @@ -1,50 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Tim Sander -** Copyright (C) 2016 Denis Shienkov -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -****************************************************************************/ - -#pragma once - -#include "baremetalrunconfiguration.h" - -#include -#include - -namespace BareMetal { -namespace Internal { - -class BareMetalRunControlFactory : public ProjectExplorer::IRunControlFactory -{ - Q_OBJECT - -public: - explicit BareMetalRunControlFactory(QObject *parent = 0); - - bool canRun(ProjectExplorer::RunConfiguration *runConfiguration, Core::Id mode) const override; - ProjectExplorer::RunControl *create(ProjectExplorer::RunConfiguration *runConfiguration, - Core::Id mode, QString *) override; -}; - -} // namespace Internal -} // namespace BareMetal