BareMetal: Support seamless 3.3 -> 3.4 upgrade

Change-Id: I49caf77ee5e9f08fdede9d6881a4da717c5da057
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Orgad Shaneh
2015-04-26 13:06:25 +03:00
committed by hjk
parent f5ba484fbe
commit e2fd350f02
2 changed files with 17 additions and 2 deletions

View File

@@ -31,11 +31,15 @@
#include "baremetaldevice.h" #include "baremetaldevice.h"
#include "baremetaldeviceconfigurationwidget.h" #include "baremetaldeviceconfigurationwidget.h"
#include "defaultgdbserverprovider.h"
#include "gdbserverprovidermanager.h"
#include "gdbserverproviderprocess.h" #include "gdbserverproviderprocess.h"
#include <coreplugin/id.h> #include <coreplugin/id.h>
#include <ssh/sshconnection.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>
using namespace ProjectExplorer; using namespace ProjectExplorer;
@@ -73,7 +77,17 @@ void BareMetalDevice::setGdbServerProviderId(const QString &id)
void BareMetalDevice::fromMap(const QVariantMap &map) void BareMetalDevice::fromMap(const QVariantMap &map)
{ {
IDevice::fromMap(map); IDevice::fromMap(map);
setGdbServerProviderId(map.value(QLatin1String(gdbServerProviderIdKeyC)).toString()); QString gdbServerProvider = map.value(QLatin1String(gdbServerProviderIdKeyC)).toString();
if (gdbServerProvider.isEmpty()) {
const QSsh::SshConnectionParameters sshParams = sshParameters();
DefaultGdbServerProvider *newProvider = new DefaultGdbServerProvider;
newProvider->setDisplayName(displayName());
newProvider->m_host = sshParams.host;
newProvider->m_port = sshParams.port;
GdbServerProviderManager::instance()->registerProvider(newProvider);
gdbServerProvider = newProvider->id();
}
setGdbServerProviderId(gdbServerProvider);
} }
QVariantMap BareMetalDevice::toMap() const QVariantMap BareMetalDevice::toMap() const

View File

@@ -65,6 +65,7 @@ private:
friend class DefaultGdbServerProviderConfigWidget; friend class DefaultGdbServerProviderConfigWidget;
friend class DefaultGdbServerProviderFactory; friend class DefaultGdbServerProviderFactory;
friend class BareMetalDevice;
}; };
class DefaultGdbServerProviderFactory : public GdbServerProviderFactory class DefaultGdbServerProviderFactory : public GdbServerProviderFactory