aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ios/iosdevice.cpp
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@digia.com>2014-02-25 22:20:16 +0100
committerFawzi Mohamed <fawzi.mohamed@digia.com>2014-03-11 12:01:27 +0100
commit8695c6401286aab67e550e236c24019b4e44744b (patch)
tree6ddccb1f315a3c16f3d2fee17ae4e3bdc4d1caf5 /src/plugins/ios/iosdevice.cpp
parent0db9d98db328725d2b5a3d808b46dc4557b7317d (diff)
ios: remove temporary devices
Developer mode activation generates temporary devices that will never be usable again. Remove them if they were picked up. Change-Id: Iff35b640d2c2e8394b108fd8d224a2b6ea8e1626 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Diffstat (limited to 'src/plugins/ios/iosdevice.cpp')
-rw-r--r--src/plugins/ios/iosdevice.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp
index 7a79bcbb27..ce54715970 100644
--- a/src/plugins/ios/iosdevice.cpp
+++ b/src/plugins/ios/iosdevice.cpp
@@ -79,8 +79,6 @@ static QString CFStringRef2QString(CFStringRef s)
namespace Ios {
namespace Internal {
-const char extraInfoKey[] = "extraInfo";
-
IosDevice::IosDevice()
: IDevice(Core::Id(Constants::IOS_DEVICE_TYPE),
IDevice::AutoDetected,
@@ -166,7 +164,7 @@ IDevice::Ptr IosDevice::clone() const
void IosDevice::fromMap(const QVariantMap &map)
{
IDevice::fromMap(map);
- QVariantMap vMap = map.value(QLatin1String(extraInfoKey)).toMap();
+ QVariantMap vMap = map.value(QLatin1String(Constants::EXTRA_INFO_KEY)).toMap();
QMapIterator<QString, QVariant> i(vMap);
m_extraInfo.clear();
while (i.hasNext()) {
@@ -184,7 +182,7 @@ QVariantMap IosDevice::toMap() const
i.next();
vMap.insert(i.key(), i.value());
}
- res.insert(QLatin1String(extraInfoKey), vMap);
+ res.insert(QLatin1String(Constants::EXTRA_INFO_KEY), vMap);
return res;
}
@@ -281,7 +279,10 @@ void IosDeviceManager::deviceDisconnected(const QString &uid)
qDebug() << "ignoring disconnection of ios device " << uid; // should neve happen
} else {
const IosDevice *iosDev = static_cast<const IosDevice *>(dev.data());
- if (iosDev->deviceState() != IDevice::DeviceDisconnected) {
+ if (iosDev->m_extraInfo.isEmpty()
+ || iosDev->m_extraInfo.value(QLatin1String("deviceName")) == QLatin1String("*unknown*")) {
+ devManager->removeDevice(iosDev->id());
+ } else if (iosDev->deviceState() != IDevice::DeviceDisconnected) {
if (debugDeviceDetection)
qDebug() << "disconnecting device " << iosDev->uniqueDeviceID();
devManager->setDeviceState(iosDev->id(), IDevice::DeviceDisconnected);