aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ios/iosdevice.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2019-02-20 19:13:28 +0100
committerhjk <[email protected]>2019-02-21 13:20:16 +0000
commit9e965409d1cbe6270c6a994bfe41d61a154d1d77 (patch)
treec7099baa704c1d3b0ddf01250e6757b132394ebf /src/plugins/ios/iosdevice.cpp
parent317ab497936cc6c32da80bd0d3de58975bb308f1 (diff)
Move IDeviceFactory closer to IDevice implementation
Except for the DesktopDevice, which is kind of special. Also try a bit to make (and partially fail at doing so) naming and code structure (#include, use of namespaces) more similar to each other. Change-Id: I9fe266e706b72c14f59ff03ca1ae02dba3adcc71 Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/ios/iosdevice.cpp')
-rw-r--r--src/plugins/ios/iosdevice.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/ios/iosdevice.cpp b/src/plugins/ios/iosdevice.cpp
index abb94ffe24e..53d956fa76a 100644
--- a/src/plugins/ios/iosdevice.cpp
+++ b/src/plugins/ios/iosdevice.cpp
@@ -547,5 +547,27 @@ IosDevice::ConstPtr IosKitAspect::device(Kit *kit)
return res;
}
+
+// Factory
+
+IosDeviceFactory::IosDeviceFactory()
+ : IDeviceFactory(Constants::IOS_DEVICE_ID)
+{
+ setObjectName(QLatin1String("IosDeviceFactory"));
+ setDisplayName(IosDevice::name());
+ setCombinedIcon(":/ios/images/iosdevicesmall.png",
+ ":/ios/images/iosdevice.png");
+ setConstructionFunction([] { return IDevice::Ptr(new IosDevice); });
+}
+
+bool IosDeviceFactory::canRestore(const QVariantMap &map) const
+{
+ QVariantMap vMap = map.value(QLatin1String(Constants::EXTRA_INFO_KEY)).toMap();
+ if (vMap.isEmpty()
+ || vMap.value(QLatin1String("deviceName")).toString() == QLatin1String("*unknown*"))
+ return false; // transient device (probably generated during an activation)
+ return true;
+}
+
} // namespace Internal
} // namespace Ios