From bafd3f0b143e07b8074a35195b43165f9f83c33b Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Fri, 13 Apr 2012 15:58:55 +0200 Subject: [PATCH] IDevice: Make id creation (a bit) less magic Change-Id: Icf5743a5b5a6305d18860cf6f87d70079c3effbc Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com> --- src/plugins/madde/maddedevice.cpp | 8 +++---- src/plugins/madde/maddedevice.h | 4 ++-- .../devicesupport/devicemanager.cpp | 7 +++--- .../devicesupport/devicemanager.h | 3 +-- .../projectexplorer/devicesupport/idevice.cpp | 24 +++++++++---------- .../projectexplorer/devicesupport/idevice.h | 6 +++-- .../qt-s60/symbianidevice.cpp | 2 +- .../remotelinux/linuxdeviceconfiguration.cpp | 8 +++---- .../remotelinux/linuxdeviceconfiguration.h | 4 ++-- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/plugins/madde/maddedevice.cpp b/src/plugins/madde/maddedevice.cpp index 0cb4973b239..e92644536f6 100644 --- a/src/plugins/madde/maddedevice.cpp +++ b/src/plugins/madde/maddedevice.cpp @@ -54,9 +54,9 @@ MaddeDevice::Ptr MaddeDevice::create() } MaddeDevice::Ptr MaddeDevice::create(const QString &name, const QString &type, - MachineType machineType, Origin origin, const QString &fingerprint) + MachineType machineType, Origin origin, const Core::Id &id) { - return Ptr(new MaddeDevice(name, type, machineType, origin, fingerprint)); + return Ptr(new MaddeDevice(name, type, machineType, origin, id)); } MaddeDevice::MaddeDevice() @@ -64,8 +64,8 @@ MaddeDevice::MaddeDevice() } MaddeDevice::MaddeDevice(const QString &name, const QString &type, MachineType machineType, - Origin origin, const QString &fingerprint) - : LinuxDeviceConfiguration(name, type, machineType, origin, fingerprint) + Origin origin, const Core::Id &id) + : LinuxDeviceConfiguration(name, type, machineType, origin, id) { } diff --git a/src/plugins/madde/maddedevice.h b/src/plugins/madde/maddedevice.h index 217e0a26d8a..d63ef3233f5 100644 --- a/src/plugins/madde/maddedevice.h +++ b/src/plugins/madde/maddedevice.h @@ -48,7 +48,7 @@ public: static Ptr create(); static Ptr create(const QString &name, const QString &type, MachineType machineType, - Origin origin = ManuallyAdded, const QString &fingerprint = QString()); + Origin origin = ManuallyAdded, const Core::Id &id = Core::Id()); QString displayType() const; QStringList actionIds() const; @@ -60,7 +60,7 @@ public: private: MaddeDevice(); MaddeDevice(const QString &name, const QString &type, MachineType machineType, - Origin origin, const QString &fingerprint); + Origin origin, const Core::Id &id); MaddeDevice(const MaddeDevice &other); }; diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index 2555c463afa..45cb93088aa 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -54,9 +54,8 @@ namespace ProjectExplorer { namespace Internal { static IDevice::Ptr findAutoDetectedDevice(const QList<IDevice::Ptr> &deviceList, - const QString &type, const QString &fingerprint) + const QString &type, const Core::Id id) { - const Core::Id id(fingerprint); foreach (const IDevice::Ptr &device, deviceList) { if (device->isAutoDetected() && device->type() == type && device->id() == id) return device; @@ -372,9 +371,9 @@ IDevice::ConstPtr DeviceManager::find(const Core::Id &id) const } IDevice::ConstPtr DeviceManager::findInactiveAutoDetectedDevice(const QString &type, - const QString &fingerprint) + const Core::Id id) { - return findAutoDetectedDevice(d->inactiveAutoDetectedDevices, type, fingerprint); + return findAutoDetectedDevice(d->inactiveAutoDetectedDevices, type, id); } IDevice::ConstPtr DeviceManager::defaultDevice(const QString &deviceType) const diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.h b/src/plugins/projectexplorer/devicesupport/devicemanager.h index 5ab22fa7c1f..03a0d4253e3 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.h +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.h @@ -61,8 +61,7 @@ public: int deviceCount() const; IDevice::ConstPtr deviceAt(int index) const; IDevice::ConstPtr find(const Core::Id &id) const; - IDevice::ConstPtr findInactiveAutoDetectedDevice(const QString &type, - const QString &fingerprint); + IDevice::ConstPtr findInactiveAutoDetectedDevice(const QString &type, const Core::Id id); IDevice::ConstPtr defaultDevice(const QString &deviceType) const; bool hasDevice(const QString &name) const; Core::Id deviceId(const IDevice::ConstPtr &device) const; diff --git a/src/plugins/projectexplorer/devicesupport/idevice.cpp b/src/plugins/projectexplorer/devicesupport/idevice.cpp index 5c120e1d50d..683c9377b2a 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/idevice.cpp @@ -78,10 +78,10 @@ */ /*! - * \fn Core::Id ProjectExplorer::IDevice::internalId() const - * \brief Identify the device internally. - * If a fingerprint is given when constructing the device, the id will be derived from it, and - * the fingerprint can later be retrieved from the id. + * \fn Core::Id ProjectExplorer::IDevice::id() const + * \brief Identify the device. + * If an id is given when constructing a device then this id is used. Otherwise a UUID is + * generated and used to identity the device. * \sa ProjectExplorer::DeviceManager::findInactiveAutoDetectedDevice() */ @@ -148,7 +148,7 @@ namespace ProjectExplorer { const char DisplayNameKey[] = "Name"; const char TypeKey[] = "OsType"; -const char InternalIdKey[] = "InternalId"; +const char IdKey[] = "InternalId"; const char OriginKey[] = "Origin"; namespace Internal { @@ -158,7 +158,7 @@ public: QString displayName; QString type; IDevice::Origin origin; - Core::Id internalId; + Core::Id id; IDevice::AvailabilityState availability; }; } // namespace Internal @@ -167,13 +167,13 @@ IDevice::IDevice() : d(new Internal::IDevicePrivate) { } -IDevice::IDevice(const QString &type, Origin origin, const QString &fingerprint) +IDevice::IDevice(const QString &type, Origin origin, const Core::Id &id) : d(new Internal::IDevicePrivate) { d->type = type; d->origin = origin; - QTC_CHECK(origin == ManuallyAdded || !fingerprint.isEmpty()); - d->internalId = fingerprint.isEmpty() ? newId() : Core::Id(fingerprint); + QTC_CHECK(origin == ManuallyAdded || id.isValid()); + d->id = id.isValid() ? id : newId(); d->availability = DeviceAvailabilityUnknown; } @@ -227,7 +227,7 @@ bool IDevice::isAutoDetected() const Core::Id IDevice::id() const { - return d->internalId; + return d->id; } IDevice::AvailabilityState IDevice::availability() const @@ -256,7 +256,7 @@ void IDevice::fromMap(const QVariantMap &map) { d->type = typeFromMap(map); d->displayName = map.value(QLatin1String(DisplayNameKey)).toString(); - d->internalId = Core::Id(map.value(QLatin1String(InternalIdKey), newId().toString()).toString()); + d->id = Core::Id(map.value(QLatin1String(IdKey), newId().name()).toByteArray().constData()); d->origin = static_cast<Origin>(map.value(QLatin1String(OriginKey), ManuallyAdded).toInt()); } @@ -265,7 +265,7 @@ QVariantMap IDevice::toMap() const QVariantMap map; map.insert(QLatin1String(DisplayNameKey), d->displayName); map.insert(QLatin1String(TypeKey), d->type); - map.insert(QLatin1String(InternalIdKey), d->internalId.toString()); + map.insert(QLatin1String(IdKey), d->id.name()); map.insert(QLatin1String(OriginKey), d->origin); return map; } diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h index f5d77d4fc99..1354a183e9d 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.h +++ b/src/plugins/projectexplorer/devicesupport/idevice.h @@ -32,7 +32,9 @@ #ifndef IDEVICE_H #define IDEVICE_H -#include <projectexplorer/projectexplorer_export.h> +#include "../projectexplorer_export.h" + +#include <coreplugin/id.h> #include <coreplugin/id.h> @@ -99,7 +101,7 @@ public: protected: IDevice(); - IDevice(const QString &type, Origin origin, const QString &fingerprint = QString()); + IDevice(const QString &type, Origin origin, const Core::Id &id = Core::Id()); IDevice(const IDevice &other); Ptr sharedFromThis(); diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp index 2c31947a220..15f51a32c5a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp @@ -53,7 +53,7 @@ namespace Qt4ProjectManager { SymbianIDevice::SymbianIDevice() : ProjectExplorer::IDevice(Internal::SymbianIDeviceFactory::deviceType(), ProjectExplorer::IDevice::AutoDetected, - QLatin1String("Symbian Device")), + Core::Id("Symbian Device")), m_port(QLatin1String(DEFAULT_CODA_TCP_PORT)), m_communicationChannel(CommunicationCodaSerialConnection) { diff --git a/src/plugins/remotelinux/linuxdeviceconfiguration.cpp b/src/plugins/remotelinux/linuxdeviceconfiguration.cpp index 849da2b794f..e11c38f2526 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.cpp +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.cpp @@ -84,9 +84,9 @@ LinuxDeviceConfiguration::~LinuxDeviceConfiguration() } LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create(const QString &name, - const QString &type, MachineType machineType, Origin origin, const QString &fingerprint) + const QString &type, MachineType machineType, Origin origin, const Core::Id &id) { - return Ptr(new LinuxDeviceConfiguration(name, type, machineType, origin, fingerprint)); + return Ptr(new LinuxDeviceConfiguration(name, type, machineType, origin, id)); } QString LinuxDeviceConfiguration::displayType() const @@ -140,8 +140,8 @@ LinuxDeviceConfiguration::LinuxDeviceConfiguration() : d(new LinuxDeviceConfigur } LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QString &name, const QString &type, - MachineType machineType, Origin origin, const QString &fingerprint) - : IDevice(type, origin, fingerprint), d(new LinuxDeviceConfigurationPrivate) + MachineType machineType, Origin origin, const Core::Id &id) + : IDevice(type, origin, id), d(new LinuxDeviceConfigurationPrivate) { setDisplayName(name); d->machineType = machineType; diff --git a/src/plugins/remotelinux/linuxdeviceconfiguration.h b/src/plugins/remotelinux/linuxdeviceconfiguration.h index ca94388dfd4..b8043666a95 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.h +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.h @@ -71,7 +71,7 @@ public: static Ptr create(); static Ptr create(const QString &name, const QString &type, MachineType machineType, - Origin origin = ManuallyAdded, const QString &fingerprint = QString()); + Origin origin = ManuallyAdded, const Core::Id &id = Core::Id()); QString displayType() const; ProjectExplorer::IDeviceWidget *createWidget(); @@ -84,7 +84,7 @@ public: protected: LinuxDeviceConfiguration(); LinuxDeviceConfiguration(const QString &name, const QString &type, MachineType machineType, - Origin origin, const QString &fingerprint); + Origin origin, const Core::Id &id); LinuxDeviceConfiguration(const LinuxDeviceConfiguration &other); QVariantMap toMap() const; -- GitLab