diff options
author | Tim Sander <tim@krieglstein.org> | 2013-09-20 17:34:15 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-09-26 17:46:25 +0200 |
commit | 6506b2e19642288d5f3395b3bdd98a03d1f91051 (patch) | |
tree | 30dad1b550f42e956d6339bf0e912c3ac7841bc7 /src/plugins/baremetal | |
parent | 6e9985a7a2339ef8692eb1d6736f1a5aadd3ef8c (diff) | |
download | qt-creator-6506b2e19642288d5f3395b3bdd98a03d1f91051.tar.gz |
Cleanup baremetal
The cleanup goes by the comments found in
https://codereview.qt-project.org/#change,65366,patchset=6
It removes code and comments identified as unneeded.
It also further minimizes the impact on code outside the
plugin dir.
Change-Id: I22bfe9654d0fb6e0bb8f0018ecbe326cda804223
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/baremetal')
18 files changed, 63 insertions, 466 deletions
diff --git a/src/plugins/baremetal/baremetal.pro b/src/plugins/baremetal/baremetal.pro index 15d1e06004..421ad0d69c 100644 --- a/src/plugins/baremetal/baremetal.pro +++ b/src/plugins/baremetal/baremetal.pro @@ -6,12 +6,9 @@ include(../../qtcreatorplugin.pri) SOURCES += baremetalplugin.cpp \ baremetaldevice.cpp \ - baremetaldeployconfigurationfactory.cpp \ - baremetaldeployconfiguration.cpp \ baremetalrunconfigurationfactory.cpp \ baremetalrunconfiguration.cpp \ baremetalrunconfigurationwidget.cpp \ - baremetaldeploystepfactory.cpp \ baremetalgdbcommandsdeploystep.cpp \ baremetalruncontrolfactory.cpp \ baremetaldeviceconfigurationwizardpages.cpp \ @@ -22,12 +19,9 @@ SOURCES += baremetalplugin.cpp \ HEADERS += baremetalplugin.h \ baremetalconstants.h \ baremetaldevice.h \ - baremetaldeployconfigurationfactory.h \ - baremetaldeployconfiguration.h \ baremetalrunconfigurationfactory.h \ baremetalrunconfiguration.h \ baremetalrunconfigurationwidget.h \ - baremetaldeploystepfactory.h \ baremetalgdbcommandsdeploystep.h \ baremetalruncontrolfactory.h \ baremetaldeviceconfigurationfactory.h \ diff --git a/src/plugins/baremetal/baremetal.qbs b/src/plugins/baremetal/baremetal.qbs index 6295423b52..d72987025c 100644 --- a/src/plugins/baremetal/baremetal.qbs +++ b/src/plugins/baremetal/baremetal.qbs @@ -14,9 +14,6 @@ QtcPlugin { files: [ "baremetalconstants.h", - "baremetaldeployconfiguration.cpp", "baremetaldeployconfiguration.h", - "baremetaldeployconfigurationfactory.cpp", "baremetaldeployconfigurationfactory.h", - "baremetaldeploystepfactory.cpp", "baremetaldeploystepfactory.h", "baremetaldevice.cpp", "baremetaldevice.h", "baremetaldeviceconfigurationfactory.cpp", "baremetaldeviceconfigurationfactory.h", "baremetaldeviceconfigurationwidget.cpp", "baremetaldeviceconfigurationwidget.h", diff --git a/src/plugins/baremetal/baremetaldeployconfiguration.cpp b/src/plugins/baremetal/baremetaldeployconfiguration.cpp deleted file mode 100644 index 36cf5a01fc..0000000000 --- a/src/plugins/baremetal/baremetaldeployconfiguration.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Tim Sander <tim@krieglstein.org> -** Contact: http://www.qt-project.org/legal -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include "baremetaldeployconfiguration.h" - -using namespace ProjectExplorer; - -namespace BareMetal { - -BareMetalDeployConfiguration::BareMetalDeployConfiguration(Target *target, - const Core::Id id, const QString &defaultDisplayName) : - DeployConfiguration(target, id) -{ - setDefaultDisplayName(defaultDisplayName); -} - -BareMetalDeployConfiguration::BareMetalDeployConfiguration(Target *target, BareMetalDeployConfiguration *source): - DeployConfiguration(target, source) -{ } - -NamedWidget *BareMetalDeployConfiguration::createConfigWidget() -{ - return 0; -} - -} // namespace BareMetal diff --git a/src/plugins/baremetal/baremetaldeployconfiguration.h b/src/plugins/baremetal/baremetaldeployconfiguration.h deleted file mode 100644 index 3938e6473a..0000000000 --- a/src/plugins/baremetal/baremetaldeployconfiguration.h +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Tim Sander <tim@krieglstein.org> -** Contact: http://www.qt-project.org/legal -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef BAREMETALDEPLOYCONFIGURATION_H -#define BAREMETALDEPLOYCONFIGURATION_H - -#include "baremetaldeployconfiguration.h" -#include <projectexplorer/buildsteplist.h> -#include <projectexplorer/deployconfiguration.h> - -namespace BareMetal { -namespace Internal { -class BareMetalDeployConfigurationFactory; -} // namespace Internal - -class BareMetalDeployConfiguration : public ProjectExplorer::DeployConfiguration -{ - Q_OBJECT -public: - BareMetalDeployConfiguration(ProjectExplorer::Target *target, const Core::Id id, - const QString &defaultDisplayName); - BareMetalDeployConfiguration(ProjectExplorer::Target *target, - BareMetalDeployConfiguration *source); - - ProjectExplorer::NamedWidget *createConfigWidget(); - - template<class T> T *earlierBuildStep(const ProjectExplorer::BuildStep *laterBuildStep) const - { - foreach (const ProjectExplorer::BuildStep *step, stepList()->steps()) { - if (step == laterBuildStep) - return 0; - if (T * const step = dynamic_cast<T *>(step)) - return step; - } - return 0; - } - -private: - friend class Internal::BareMetalDeployConfigurationFactory; - -}; - -} // namespace BareMetal - -#endif // BAREMETALDEPLOYCONFIGURATION_H diff --git a/src/plugins/baremetal/baremetaldeployconfigurationfactory.cpp b/src/plugins/baremetal/baremetaldeployconfigurationfactory.cpp deleted file mode 100644 index 87f1e5f311..0000000000 --- a/src/plugins/baremetal/baremetaldeployconfigurationfactory.cpp +++ /dev/null @@ -1,128 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Tim Sander <tim@krieglstein.org> -** Contact: http://www.qt-project.org/legal -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include <QCoreApplication> - -#include "baremetaldeployconfigurationfactory.h" -#include "baremetalconstants.h" -#include "baremetaldeployconfiguration.h" - -#include <projectexplorer/abi.h> -#include <projectexplorer/toolchain.h> -#include <projectexplorer/kitinformation.h> -#include <projectexplorer/project.h> -#include <projectexplorer/target.h> - -#include <utils/qtcassert.h> - -using namespace ProjectExplorer; - -namespace BareMetal { -namespace Internal { -namespace { -QString genericBareMetalDisplayName() { - return QCoreApplication::translate("BareMetal","Run on gdbserver/Hardware Debugger"); -} -} // anonymous namespace - - -BareMetalDeployConfigurationFactory::BareMetalDeployConfigurationFactory(QObject *parent) : - DeployConfigurationFactory(parent) -{ - setObjectName(QLatin1String("BareMetalDeployConfiguration")); -} - -QList<Core::Id> BareMetalDeployConfigurationFactory::availableCreationIds(Target *parent) const -{ - QList<Core::Id> ids; - if (!parent->project()->supportsKit(parent->kit())) - return ids; - ToolChain *tc - = ToolChainKitInformation::toolChain(parent->kit()); - if (!tc || tc->targetAbi().os() != Abi::LinuxOS) //FIXME - return ids; - const Core::Id devType = DeviceTypeKitInformation::deviceTypeId(parent->kit()); - if (devType == Constants::BareMetalOsType) - ids << genericDeployConfigurationId(); - return ids; -} - -QString BareMetalDeployConfigurationFactory::displayNameForId(const Core::Id id) const -{ - if (id == genericDeployConfigurationId()) - return genericBareMetalDisplayName(); - return QString(); -} - -bool BareMetalDeployConfigurationFactory::canCreate(Target *parent, const Core::Id id) const -{ - return availableCreationIds(parent).contains(id); -} - -DeployConfiguration *BareMetalDeployConfigurationFactory::create(Target *parent, const Core::Id id) -{ - QTC_ASSERT(canCreate(parent, id), return 0); - DeployConfiguration * const dc = new BareMetalDeployConfiguration(parent,id,genericBareMetalDisplayName()); -//FIXME dc->stepList()->insertStep(0, Step); - return dc; -} - -bool BareMetalDeployConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const -{ - return canCreate(parent,idFromMap(map)); -} - -DeployConfiguration *BareMetalDeployConfigurationFactory::restore(Target *parent, const QVariantMap &map) -{ - if (!canRestore(parent,map)) - return 0; - Core::Id id = idFromMap(map); - BareMetalDeployConfiguration * const dc = new BareMetalDeployConfiguration(parent, id, genericBareMetalDisplayName()); - if (!dc->fromMap(map)) { - delete dc; - return 0; - } - return dc; -} - -DeployConfiguration *BareMetalDeployConfigurationFactory::clone(Target *parent, DeployConfiguration *product) -{ - if (!canClone(parent, product)) - return 0; - return new BareMetalDeployConfiguration(parent, - qobject_cast<BareMetalDeployConfiguration*>(product)); -} - -Core::Id BareMetalDeployConfigurationFactory::genericDeployConfigurationId() -{ - return Core::Id("DeployToBareMetal"); -} - -} // namespace Internal -} // namespace BareMetal diff --git a/src/plugins/baremetal/baremetaldeployconfigurationfactory.h b/src/plugins/baremetal/baremetaldeployconfigurationfactory.h deleted file mode 100644 index b91439482a..0000000000 --- a/src/plugins/baremetal/baremetaldeployconfigurationfactory.h +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Tim Sander <tim@krieglstein.org> -** Contact: http://www.qt-project.org/legal -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef BAREMETALDEPLOYCONFIGURATIONFACTORY_H -#define BAREMETALDEPLOYCONFIGURATIONFACTORY_H - -#include <projectexplorer/deployconfiguration.h> - -namespace BareMetal { -namespace Internal { - -class BareMetalDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory -{ - Q_OBJECT -public: - explicit BareMetalDeployConfigurationFactory(QObject *parent = 0); - - QList<Core::Id> availableCreationIds(ProjectExplorer::Target *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::Target *parent, const Core::Id id) const; - ProjectExplorer::DeployConfiguration *create(ProjectExplorer::Target *parent, const Core::Id id); - bool canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const; - ProjectExplorer::DeployConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); - ProjectExplorer::DeployConfiguration *clone(ProjectExplorer::Target *parent, - ProjectExplorer::DeployConfiguration *product); - - static Core::Id genericDeployConfigurationId(); -}; - -} // namespace Internal -} // namespace BareMetal -#endif // BAREMETALDEPLOYCONFIGURATIONFACTORY_H diff --git a/src/plugins/baremetal/baremetaldeploystepfactory.h b/src/plugins/baremetal/baremetaldeploystepfactory.h deleted file mode 100644 index 5ab81f9e1c..0000000000 --- a/src/plugins/baremetal/baremetaldeploystepfactory.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Tim Sander <tim@krieglstein.org> -** Contact: http://www.qt-project.org/legal -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef BAREMETALDEPLOYSTEPFACTORY_H -#define BAREMETALDEPLOYSTEPFACTORY_H - -#include <projectexplorer/buildstep.h> - -namespace BareMetal { -namespace Internal { - -class BareMetalDeployStepFactory : public ProjectExplorer::IBuildStepFactory -{ - Q_OBJECT -public: - explicit BareMetalDeployStepFactory(QObject *parent = 0); - - QList<Core::Id> availableCreationIds(ProjectExplorer::BuildStepList *parent) const; - QString displayNameForId(const Core::Id id) const; - bool canCreate(ProjectExplorer::BuildStepList *parent, const Core::Id id) const; - ProjectExplorer::BuildStep *create(ProjectExplorer::BuildStepList *parent, const Core::Id id); - bool canRestore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map) const; - ProjectExplorer::BuildStep *restore(ProjectExplorer::BuildStepList *parent, const QVariantMap &map); - bool canClone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product) const; - ProjectExplorer::BuildStep *clone(ProjectExplorer::BuildStepList *parent, ProjectExplorer::BuildStep *product); -}; - -} // namespace Internal -} // namespace BareMetal -#endif // BAREMETALDEPLOYSTEPFACTORY_H diff --git a/src/plugins/baremetal/baremetaldevice.cpp b/src/plugins/baremetal/baremetaldevice.cpp index 9eb3c48cc0..3b9a785547 100644 --- a/src/plugins/baremetal/baremetaldevice.cpp +++ b/src/plugins/baremetal/baremetaldevice.cpp @@ -31,12 +31,15 @@ #include "baremetaldeviceconfigurationwidget.h" #include <coreplugin/id.h> #include <utils/qtcassert.h> +#include <QCoreApplication> using namespace ProjectExplorer; namespace BareMetal { namespace Internal { +const char GdbCommandsKey[] = "GdbCommands"; + BareMetalDevice::Ptr BareMetalDevice::create() { return Ptr(new BareMetalDevice); @@ -47,6 +50,24 @@ BareMetalDevice::Ptr BareMetalDevice::create(const QString &name, Core::Id type, return Ptr(new BareMetalDevice(name, type, machineType, origin, id)); } +BareMetalDevice::Ptr BareMetalDevice::create(const BareMetalDevice &other) +{ + return Ptr(new BareMetalDevice(other)); +} + +void BareMetalDevice::fromMap(const QVariantMap &map) +{ + IDevice::fromMap(map); + setGdbInitCommands(map.value(QLatin1String(GdbCommandsKey)).toString()); +} + +QVariantMap BareMetalDevice::toMap() const +{ + QVariantMap map = IDevice::toMap(); + map.insert(QLatin1String(GdbCommandsKey), getGdbInitCommands()); + return map; +} + BareMetalDevice::IDevice::Ptr BareMetalDevice::clone() const { return Ptr(new BareMetalDevice(*this)); @@ -59,7 +80,7 @@ DeviceProcessSignalOperation::Ptr BareMetalDevice::signalOperation() const QString BareMetalDevice::displayType() const { - return tr("Bare Metal"); + return QCoreApplication::translate("BareMetal::Internal::BareMetalDevice", "Bare Metal"); } ProjectExplorer::IDeviceWidget *BareMetalDevice::createWidget() @@ -69,13 +90,12 @@ ProjectExplorer::IDeviceWidget *BareMetalDevice::createWidget() QList<Core::Id> BareMetalDevice::actionIds() const { - return QList<Core::Id>(); //FIXME complete? + return QList<Core::Id>(); // no actions } QString BareMetalDevice::displayNameForActionId(Core::Id actionId) const { QTC_ASSERT(actionIds().contains(actionId), return QString()); - //FIXME return action names here if any return QString(); } @@ -94,6 +114,7 @@ BareMetalDevice::BareMetalDevice(const QString &name, Core::Id type, MachineType BareMetalDevice::BareMetalDevice(const BareMetalDevice &other) : IDevice(other) { + setGdbInitCommands(other.getGdbInitCommands()); } } //namespace Internal diff --git a/src/plugins/baremetal/baremetaldevice.h b/src/plugins/baremetal/baremetaldevice.h index 1edd1cd644..b7f2a62bd9 100644 --- a/src/plugins/baremetal/baremetaldevice.h +++ b/src/plugins/baremetal/baremetaldevice.h @@ -38,7 +38,6 @@ namespace Internal { class BareMetalDevice : public ProjectExplorer::IDevice { - Q_DECLARE_TR_FUNCTIONS(BareMetal::Internal::BareMetalDevice) public: typedef QSharedPointer<BareMetalDevice> Ptr; typedef QSharedPointer<const BareMetalDevice> ConstPtr; @@ -46,7 +45,7 @@ public: static Ptr create(); static Ptr create(const QString &name, Core::Id type, MachineType machineType, Origin origin = ManuallyAdded, Core::Id id = Core::Id()); - + static Ptr create(const BareMetalDevice &other); QString displayType() const; ProjectExplorer::IDeviceWidget *createWidget(); QList<Core::Id> actionIds() const; @@ -56,6 +55,11 @@ public: ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const; + QString getGdbInitCommands() const {return m_gdbInitCommands;} + void setGdbInitCommands(const QString &gdbCommands) { m_gdbInitCommands=gdbCommands; } + + virtual void fromMap(const QVariantMap &map); + virtual QVariantMap toMap() const; protected: BareMetalDevice() {} BareMetalDevice(const QString &name, Core::Id type, @@ -63,6 +67,7 @@ protected: BareMetalDevice(const BareMetalDevice &other); private: BareMetalDevice &operator=(const BareMetalDevice &); + QString m_gdbInitCommands; }; } //namespace Internal diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp b/src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp index c4f3446b5f..d22dae4d73 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp @@ -30,13 +30,15 @@ #include "baremetaldeviceconfigurationwidget.h" #include "ui_baremetaldeviceconfigurationwidget.h" +#include "baremetaldevice.h" #include <ssh/sshconnection.h> +#include <utils/qtcassert.h> #include <QLabel> using namespace QSsh; - namespace BareMetal { +using namespace Internal; BareMetalDeviceConfigurationWidget::BareMetalDeviceConfigurationWidget( const ProjectExplorer::IDevice::Ptr &deviceConfig, QWidget *parent) : @@ -55,9 +57,6 @@ BareMetalDeviceConfigurationWidget::~BareMetalDeviceConfigurationWidget() delete m_ui; } -/* using sshParams fields is ugly but otherwise i would have needed to write my own fromMap - * toMap functions */ - void BareMetalDeviceConfigurationWidget::hostnameChanged() { SshConnectionParameters sshParams = device()->sshParameters(); @@ -74,9 +73,9 @@ void BareMetalDeviceConfigurationWidget::portChanged() void BareMetalDeviceConfigurationWidget::gdbInitCommandsChanged() { - SshConnectionParameters sshParams = device()->sshParameters(); - sshParams.userName = m_ui->gdbCommandsTextEdit->toPlainText(); - device()->setSshParameters(sshParams); + QSharedPointer<BareMetalDevice> p = qSharedPointerCast<BareMetalDevice>(device()); + QTC_ASSERT(!p.isNull(), return); + p->setGdbInitCommands(m_ui->gdbCommandsTextEdit->toPlainText()); } void BareMetalDeviceConfigurationWidget::updateDeviceFromUi() { @@ -87,11 +86,12 @@ void BareMetalDeviceConfigurationWidget::updateDeviceFromUi() { void BareMetalDeviceConfigurationWidget::initGui() { - //FIXME reusing SshConnectionParameters is kind of ugly? SshConnectionParameters sshParams = device()->sshParameters(); m_ui->gdbHostLineEdit->setText(sshParams.host); m_ui->gdbPortSpinBox->setValue(sshParams.port); - m_ui->gdbCommandsTextEdit->setPlainText(sshParams.userName); + QSharedPointer<BareMetalDevice> p = qSharedPointerCast<BareMetalDevice>(device()); + QTC_ASSERT(!p.isNull(), return); + m_ui->gdbCommandsTextEdit->setPlainText(p->getGdbInitCommands()); } } //namespace BareMetal diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp index 0e7da70f96..cee788b316 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp @@ -46,12 +46,12 @@ class BareMetalDeviceConfigrationWizardPrivate { public: BareMetalDeviceConfigrationWizardPrivate(QWidget *parent): - setupPage(parent) - { - } + m_setupPage(parent) + { } - BareMetalDeviceConfigurationWizardSetupPage setupPage; + BareMetalDeviceConfigurationWizardSetupPage m_setupPage; }; + } //namespace Internal BareMetalDeviceConfigurationWizard::BareMetalDeviceConfigurationWizard(QWidget *parent) : @@ -59,8 +59,8 @@ BareMetalDeviceConfigurationWizard::BareMetalDeviceConfigurationWizard(QWidget * d(new Internal::BareMetalDeviceConfigrationWizardPrivate(this)) { setWindowTitle(tr("New Bare Metal Device Configuration Setup")); - setPage(Internal::SetupPageId, &d->setupPage); - d->setupPage.setCommitPage(true); + setPage(Internal::SetupPageId, &d->m_setupPage); + d->m_setupPage.setCommitPage(true); } BareMetalDeviceConfigurationWizard::~BareMetalDeviceConfigurationWizard() @@ -72,13 +72,14 @@ IDevice::Ptr BareMetalDeviceConfigurationWizard::device() const { //sshParams is not really used as ssh parameters but as debugger parameters QSsh::SshConnectionParameters sshParams; - sshParams.host = d->setupPage.gdbHostname(); - sshParams.port = d->setupPage.gdbPort(); - sshParams.userName = d->setupPage.gdbInitCommands(); - IDevice::Ptr device = Internal::BareMetalDevice::create(d->setupPage.configurationName(), + sshParams.host = d->m_setupPage.gdbHostname(); + sshParams.port = d->m_setupPage.gdbPort(); + Internal::BareMetalDevice::Ptr device = Internal::BareMetalDevice::create(d->m_setupPage.configurationName(), Core::Id(Constants::BareMetalOsType), IDevice::Hardware); device->setSshParameters(sshParams); + device->setGdbInitCommands(d->m_setupPage.gdbInitCommands()); return device; } + } //namespace BareMetal diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui b/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui index 9c1e9aa27e..c3e7201dae 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui @@ -69,7 +69,12 @@ </widget> </item> <item row="7" column="1"> - <widget class="QPlainTextEdit" name="gdbInitCommandsPlainTextEdit"/> + <widget class="QPlainTextEdit" name="gdbInitCommandsPlainTextEdit"> + <property name="plainText"> + <string>load +monitor reset</string> + </property> + </widget> </item> </layout> </widget> diff --git a/src/plugins/baremetal/baremetalplugin.cpp b/src/plugins/baremetal/baremetalplugin.cpp index 2eea1e099e..e3e3084dd8 100644 --- a/src/plugins/baremetal/baremetalplugin.cpp +++ b/src/plugins/baremetal/baremetalplugin.cpp @@ -32,8 +32,6 @@ #include "baremetaldeviceconfigurationfactory.h" #include "baremetalruncontrolfactory.h" #include "baremetalrunconfigurationfactory.h" -#include "baremetaldeployconfigurationfactory.h" -#include "baremetaldeploystepfactory.h" #include <coreplugin/icore.h> #include <coreplugin/icontext.h> @@ -53,74 +51,25 @@ namespace Internal { BareMetalPlugin::BareMetalPlugin() { - // Create your members setObjectName(QLatin1String("BareMetalPlugin")); } BareMetalPlugin::~BareMetalPlugin() { - // Unregister objects from the plugin manager's object pool - // Delete members } bool BareMetalPlugin::initialize(const QStringList &arguments, QString *errorString) { - // Register objects in the plugin manager's object pool - // Load settings - // Add actions to menus - // Connect to other plugins' signals - // In the initialize method, a plugin can be sure that the plugins it - // depends on have initialized their members. - Q_UNUSED(arguments) Q_UNUSED(errorString) addAutoReleasedObject(new BareMetalDeviceConfigurationFactory); addAutoReleasedObject(new BareMetalRunControlFactory); addAutoReleasedObject(new BareMetalRunConfigurationFactory); - addAutoReleasedObject(new BareMetalDeployConfigurationFactory); - //addAutoReleasedObject(new BareMetalDeployStepFactory); - - /* - QAction *action = new QAction(tr("BareMetal action"), this); - Core::Command *cmd = Core::ActionManager::registerAction(action, Constants::ACTION_ID, - Core::Context(Core::Constants::C_GLOBAL)); - cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+Alt+Meta+A"))); - connect(action, SIGNAL(triggered()), this, SLOT(triggerAction())); - - Core::ActionContainer *menu = Core::ActionManager::createMenu(Constants::MENU_ID); - menu->menu()->setTitle(tr("BareMetal")); - menu->addAction(cmd); - Core::ActionManager::actionContainer(Core::Constants::M_TOOLS)->addMenu(menu); - */ return true; } -void BareMetalPlugin::extensionsInitialized() -{ - // Retrieve objects from the plugin manager's object pool - // In the extensionsInitialized method, a plugin can be sure that all - // plugins that depend on it are completely initialized. -} - -/* -ExtensionSystem::IPlugin::ShutdownFlag BareMetalPlugin::aboutToShutdown() -{ - // Save settings - // Disconnect from signals that are not needed during shutdown - // Hide UI (if you add UI that is not in the main window directly) - return SynchronousShutdown; -} - -void BareMetalPlugin::triggerAction() -{ - QMessageBox::information(Core::ICore::mainWindow(), - tr("Action triggered"), - tr("This is an action from BareMetal.")); -} -*/ - } // namespace Internal } // namespace BareMetal diff --git a/src/plugins/baremetal/baremetalplugin.h b/src/plugins/baremetal/baremetalplugin.h index 90c6fd8ae0..512b0cbbc7 100644 --- a/src/plugins/baremetal/baremetalplugin.h +++ b/src/plugins/baremetal/baremetalplugin.h @@ -45,13 +45,7 @@ public: ~BareMetalPlugin(); bool initialize(const QStringList &arguments, QString *errorString); - void extensionsInitialized(); - //ShutdownFlag aboutToShutdown(); - - /* -private slots: - void triggerAction(); - */ + void extensionsInitialized() { } }; } // namespace Internal diff --git a/src/plugins/baremetal/baremetalrunconfiguration.cpp b/src/plugins/baremetal/baremetalrunconfiguration.cpp index a6bd410c62..14e0c6abf6 100644 --- a/src/plugins/baremetal/baremetalrunconfiguration.cpp +++ b/src/plugins/baremetal/baremetalrunconfiguration.cpp @@ -29,7 +29,6 @@ #include "baremetalrunconfiguration.h" -//#include "baremetalenvironmentaspect.h" #include "baremetalrunconfigurationwidget.h" #include <debugger/debuggerrunconfigurationaspect.h> @@ -101,8 +100,6 @@ void BareMetalRunConfiguration::init() { setDefaultDisplayName(defaultDisplayName()); - //FIXME needed? addExtraAspect(new BareMetalEnvironmentAspect(this)); - connect(target(), SIGNAL(deploymentDataChanged()), SLOT(handleBuildSystemDataUpdated())); connect(target(), SIGNAL(applicationTargetsChanged()), SLOT(handleBuildSystemDataUpdated())); connect(target(), SIGNAL(kitChanged()), diff --git a/src/plugins/baremetal/baremetalrunconfiguration.h b/src/plugins/baremetal/baremetalrunconfiguration.h index f11dafde22..eca894257b 100644 --- a/src/plugins/baremetal/baremetalrunconfiguration.h +++ b/src/plugins/baremetal/baremetalrunconfiguration.h @@ -36,7 +36,6 @@ namespace Utils { class PortList; } namespace BareMetal { class BareMetalRunConfigurationWidget; -class BareMetalDeployConfiguration; namespace Internal { class BareMetalRunConfigurationPrivate; class BareMetalRunConfigurationFactory; diff --git a/src/plugins/baremetal/baremetalrunconfigurationwidget.cpp b/src/plugins/baremetal/baremetalrunconfigurationwidget.cpp index dcefec29b3..fac674faec 100644 --- a/src/plugins/baremetal/baremetalrunconfigurationwidget.cpp +++ b/src/plugins/baremetal/baremetalrunconfigurationwidget.cpp @@ -45,8 +45,7 @@ class BareMetalRunConfigurationWidgetPrivate public: BareMetalRunConfigurationWidgetPrivate(BareMetalRunConfiguration *runConfig) : runConfiguration(runConfig) - { - } + { } BareMetalRunConfiguration * const runConfiguration; QWidget topWidget; diff --git a/src/plugins/baremetal/baremetalruncontrolfactory.cpp b/src/plugins/baremetal/baremetalruncontrolfactory.cpp index ebc073b947..3ba17b73bf 100644 --- a/src/plugins/baremetal/baremetalruncontrolfactory.cpp +++ b/src/plugins/baremetal/baremetalruncontrolfactory.cpp @@ -30,6 +30,7 @@ #include "baremetalruncontrolfactory.h" #include "baremetalgdbcommandsdeploystep.h" #include "baremetalrunconfiguration.h" +#include "baremetaldevice.h" #include <debugger/debuggerplugin.h> #include <debugger/debuggerrunner.h> @@ -79,7 +80,7 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe DebuggerStartParameters params; Target *target = runConfig->target(); Kit *k = target->kit(); - const IDevice::ConstPtr device = DeviceKitInformation::device(k); + const BareMetalDevice::ConstPtr device = qSharedPointerCast<const BareMetalDevice>(DeviceKitInformation::device(k)); QTC_ASSERT(device, return params); params.sysRoot = SysRootKitInformation::sysRoot(k).toString(); params.debuggerCommand = DebuggerKitInformation::debuggerCommand(k).toString(); @@ -99,7 +100,7 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe } params.remoteChannel = device->sshParameters().host + QLatin1String(":") + QString::number(device->sshParameters().port); params.remoteSetupNeeded = false; // qml stuff, not needed - params.commandsAfterConnect = device->sshParameters().userName.toLatin1(); + params.commandsAfterConnect = device->getGdbInitCommands().toLatin1(); BuildConfiguration *bc = target->activeBuildConfiguration(); BuildStepList *bsl = bc->stepList(BareMetalGdbCommandsDeployStep::stepId()); if (bsl) { @@ -108,7 +109,7 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe if (ds) { if (!params.commandsAfterConnect.endsWith("\n")) params.commandsAfterConnect.append("\n"); - params.commandsAfterConnect.append(ds->gdbCommands().toLatin1()); + params.commandsAfterConnect.append(ds->gdbCommands().toLocal8Bit()); } } } |