BareMetal: Update device address when provider is changed

Change-Id: Id020328797c4ec9a739cbf5844f9c4a9acf363ff
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Orgad Shaneh
2017-03-17 00:27:57 +02:00
committed by Orgad Shaneh
parent 24a922cb28
commit c82c742d8d
4 changed files with 53 additions and 2 deletions

View File

@@ -25,7 +25,9 @@
#include "gdbserverprovider.h"
#include "gdbserverprovidermanager.h"
#include "baremetaldevice.h"
#include <utils/asconst.h>
#include <utils/qtcassert.h>
#include <utils/environment.h>
@@ -74,6 +76,9 @@ GdbServerProvider::GdbServerProvider(const GdbServerProvider &other)
GdbServerProvider::~GdbServerProvider()
{
const QSet<BareMetalDevice *> devices = m_devices;
for (BareMetalDevice *device : devices)
device->setGdbServerProviderId(QString());
}
QString GdbServerProvider::displayName() const
@@ -173,9 +178,21 @@ bool GdbServerProvider::canStartupMode(StartupMode m) const
return m == NoStartup;
}
void GdbServerProvider::registerDevice(BareMetalDevice *device)
{
m_devices.insert(device);
}
void GdbServerProvider::unregisterDevice(BareMetalDevice *device)
{
m_devices.remove(device);
}
void GdbServerProvider::providerUpdated()
{
GdbServerProviderManager::notifyAboutUpdate(this);
for (BareMetalDevice *device : Utils::asConst(m_devices))
device->providerUpdated(this);
}
bool GdbServerProvider::fromMap(const QVariantMap &data)