summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Sander <tim@krieglstein.org>2013-09-20 17:34:15 +0200
committerTobias Hunger <tobias.hunger@digia.com>2013-09-26 17:46:25 +0200
commit6506b2e19642288d5f3395b3bdd98a03d1f91051 (patch)
tree30dad1b550f42e956d6339bf0e912c3ac7841bc7
parent6e9985a7a2339ef8692eb1d6736f1a5aadd3ef8c (diff)
downloadqt-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>
-rw-r--r--src/plugins/baremetal/baremetal.pro6
-rw-r--r--src/plugins/baremetal/baremetal.qbs3
-rw-r--r--src/plugins/baremetal/baremetaldeployconfiguration.cpp52
-rw-r--r--src/plugins/baremetal/baremetaldeployconfiguration.h71
-rw-r--r--src/plugins/baremetal/baremetaldeployconfigurationfactory.cpp128
-rw-r--r--src/plugins/baremetal/baremetaldeployconfigurationfactory.h58
-rw-r--r--src/plugins/baremetal/baremetaldeploystepfactory.h56
-rw-r--r--src/plugins/baremetal/baremetaldevice.cpp27
-rw-r--r--src/plugins/baremetal/baremetaldevice.h9
-rw-r--r--src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp18
-rw-r--r--src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp21
-rw-r--r--src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui7
-rw-r--r--src/plugins/baremetal/baremetalplugin.cpp51
-rw-r--r--src/plugins/baremetal/baremetalplugin.h8
-rw-r--r--src/plugins/baremetal/baremetalrunconfiguration.cpp3
-rw-r--r--src/plugins/baremetal/baremetalrunconfiguration.h1
-rw-r--r--src/plugins/baremetal/baremetalrunconfigurationwidget.cpp3
-rw-r--r--src/plugins/baremetal/baremetalruncontrolfactory.cpp7
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());
}
}
}