diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index e43ed876d6e3235e58ea3c738c66030df0bdc868..0cec0a30e022a066de1c306439d4418db33d80fc 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -37,7 +37,9 @@ namespace Android { namespace Internal { AndroidDevice::AndroidDevice(): - ProjectExplorer::IDevice(Core::Id(Constants::ANDROID_DEVICE_TYPE), IDevice::AutoDetected, + ProjectExplorer::IDevice(Core::Id(Constants::ANDROID_DEVICE_TYPE), + IDevice::AutoDetected, + IDevice::Hardware, Core::Id(Constants::ANDROID_DEVICE_ID)) { setDisplayName(QCoreApplication::translate("ProjectExplorer::AndroidDevice", "Run on Android")); diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp index b3422ca66790b7f75ab88c7f6207c5676ceee48d..e6c2f76a9f75fa9156a28fb0413381fd6b4d09e3 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp @@ -71,7 +71,9 @@ IDevice::Ptr DesktopDevice::clone() const return Ptr(new DesktopDevice(*this)); } -DesktopDevice::DesktopDevice() : IDevice(Core::Id(Constants::DESKTOP_DEVICE_TYPE), IDevice::AutoDetected, +DesktopDevice::DesktopDevice() : IDevice(Core::Id(Constants::DESKTOP_DEVICE_TYPE), + IDevice::AutoDetected, + IDevice::Hardware, Core::Id(Constants::DESKTOP_DEVICE_ID)) { setDisplayName(QCoreApplication::translate("ProjectExplorer::DesktopDevice", "Run locally")); diff --git a/src/plugins/projectexplorer/devicesupport/idevice.cpp b/src/plugins/projectexplorer/devicesupport/idevice.cpp index 476cb8f883c8d68cac880ce462f83703c48e188d..13675b3dd08d1577ba13fb1d1fdf80c92b33ddda 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/idevice.cpp @@ -150,6 +150,7 @@ const char DisplayNameKey[] = "Name"; const char TypeKey[] = "OsType"; const char IdKey[] = "InternalId"; const char OriginKey[] = "Origin"; +const char MachineTypeKey[] = "Type"; // Connection const char HostKey[] = "Host"; @@ -163,6 +164,7 @@ const char TimeoutKey[] = "Timeout"; typedef QSsh::SshConnectionParameters::AuthenticationType AuthType; const AuthType DefaultAuthType = QSsh::SshConnectionParameters::AuthenticationByKey; +const IDevice::MachineType DefaultMachineType = IDevice::Hardware; const int DefaultTimeout = 10; @@ -172,7 +174,8 @@ class IDevicePrivate public: IDevicePrivate() : origin(IDevice::AutoDetected), - deviceState(IDevice::DeviceStateUnknown) + deviceState(IDevice::DeviceStateUnknown), + machineType(IDevice::Hardware) { } QString displayName; @@ -180,6 +183,7 @@ public: IDevice::Origin origin; Core::Id id; IDevice::DeviceState deviceState; + IDevice::MachineType machineType; QSsh::SshConnectionParameters sshParameters; Utils::PortList freePorts; @@ -189,10 +193,12 @@ public: IDevice::IDevice() : d(new Internal::IDevicePrivate) { } -IDevice::IDevice(Core::Id type, Origin origin, Core::Id id) : d(new Internal::IDevicePrivate) +IDevice::IDevice(Core::Id type, Origin origin, MachineType machineType, Core::Id id) + : d(new Internal::IDevicePrivate) { d->type = type; d->origin = origin; + d->machineType = machineType; QTC_CHECK(origin == ManuallyAdded || id.isValid()); d->id = id.isValid() ? id : newId(); } @@ -288,6 +294,7 @@ void IDevice::fromMap(const QVariantMap &map) d->freePorts = Utils::PortList::fromString(map.value(PortsSpecKey, QLatin1String("10000-10100")).toString()); + d->machineType = static_cast<MachineType>(map.value(MachineTypeKey, DefaultMachineType).toInt()); } QVariantMap IDevice::toMap() const @@ -298,6 +305,7 @@ QVariantMap IDevice::toMap() const map.insert(QLatin1String(IdKey), d->id.name()); map.insert(QLatin1String(OriginKey), d->origin); + map.insert(MachineTypeKey, d->machineType); map.insert(HostKey, d->sshParameters.host); map.insert(SshPortKey, d->sshParameters.port); map.insert(UserNameKey, d->sshParameters.userName); @@ -353,6 +361,11 @@ Utils::PortList IDevice::freePorts() const return d->freePorts; } +IDevice::MachineType IDevice::machineType() const +{ + return d->machineType; +} + QString IDevice::defaultPrivateKeyFilePath() { return QDesktopServices::storageLocation(QDesktopServices::HomeLocation) diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h index 456dd8641fcb633c43958371ed4aca31ea1c4ccd..427bbffb0bc10fd1dfdc7ae121b7b5b4ae0bd5ba 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.h +++ b/src/plugins/projectexplorer/devicesupport/idevice.h @@ -57,6 +57,7 @@ public: typedef QSharedPointer<const IDevice> ConstPtr; enum Origin { ManuallyAdded, AutoDetected }; + enum MachineType { Hardware, Emulator }; virtual ~IDevice(); @@ -108,9 +109,11 @@ public: Utils::PortList freePorts() const; void setFreePorts(const Utils::PortList &freePorts); + MachineType machineType() const; + protected: IDevice(); - IDevice(Core::Id type, Origin origin, Core::Id id = Core::Id()); + IDevice(Core::Id type, Origin origin, MachineType machineType, 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 a7209bbc33927c23d57f1b5fc5e16a9305ddf323..faf0682ad1ab962a8f017291426a8793dfe8e479 100644 --- a/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/symbianidevice.cpp @@ -51,6 +51,7 @@ namespace Qt4ProjectManager { SymbianIDevice::SymbianIDevice() : ProjectExplorer::IDevice(Internal::SymbianIDeviceFactory::deviceType(), ProjectExplorer::IDevice::AutoDetected, + ProjectExplorer::IDevice::Hardware, 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 11cae54d24d74a8d601892cc3fdd0944de57460a..3a567df716d0dd61c654856654900ca21ac9dc9d 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.cpp +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.cpp @@ -45,9 +45,6 @@ namespace RemoteLinux { -const QLatin1String MachineTypeKey("Type"); -const LinuxDeviceConfiguration::MachineType DefaultMachineType = LinuxDeviceConfiguration::Hardware; - LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create(const QString &name, Core::Id type, MachineType machineType, Origin origin, Core::Id id) { @@ -102,18 +99,16 @@ void LinuxDeviceConfiguration::executeAction(Core::Id actionId, QWidget *parent) d->exec(); } -LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QString &name, Core::Id type, - MachineType machineType, Origin origin, Core::Id id) - : IDevice(type, origin, id) +LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QString &name, Core::Id type, MachineType machineType, + Origin origin, Core::Id id) + : IDevice(type, origin, machineType, id) { setDisplayName(name); - m_machineType = machineType; } LinuxDeviceConfiguration::LinuxDeviceConfiguration(const LinuxDeviceConfiguration &other) : IDevice(other) { - m_machineType = other.machineType(); } LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create() @@ -121,27 +116,9 @@ LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create() return Ptr(new LinuxDeviceConfiguration); } -void LinuxDeviceConfiguration::fromMap(const QVariantMap &map) -{ - IDevice::fromMap(map); - m_machineType = static_cast<MachineType>(map.value(MachineTypeKey, DefaultMachineType).toInt()); -} - -QVariantMap LinuxDeviceConfiguration::toMap() const -{ - QVariantMap map = IDevice::toMap(); - map.insert(MachineTypeKey, m_machineType); - return map; -} - ProjectExplorer::IDevice::Ptr LinuxDeviceConfiguration::clone() const { return Ptr(new LinuxDeviceConfiguration(*this)); } -LinuxDeviceConfiguration::MachineType LinuxDeviceConfiguration::machineType() const -{ - return m_machineType; -} - } // namespace RemoteLinux diff --git a/src/plugins/remotelinux/linuxdeviceconfiguration.h b/src/plugins/remotelinux/linuxdeviceconfiguration.h index b1e02a394e59dd675cc9e55979d36a2354b67c79..3f54da66540c3c04a1f44c98ad71622175babd18 100644 --- a/src/plugins/remotelinux/linuxdeviceconfiguration.h +++ b/src/plugins/remotelinux/linuxdeviceconfiguration.h @@ -51,10 +51,6 @@ public: typedef QSharedPointer<LinuxDeviceConfiguration> Ptr; typedef QSharedPointer<const LinuxDeviceConfiguration> ConstPtr; - enum MachineType { Hardware, Emulator }; - - MachineType machineType() const; - static Ptr create(); static Ptr create(const QString &name, Core::Id type, MachineType machineType, Origin origin = ManuallyAdded, Core::Id id = Core::Id()); @@ -64,20 +60,16 @@ public: QList<Core::Id> actionIds() const; QString displayNameForActionId(Core::Id actionId) const; void executeAction(Core::Id actionId, QWidget *parent) const; - void fromMap(const QVariantMap &map); ProjectExplorer::IDevice::Ptr clone() const; protected: LinuxDeviceConfiguration() {} - LinuxDeviceConfiguration(const QString &name, Core::Id type, MachineType machineType, - Origin origin, Core::Id id); + LinuxDeviceConfiguration(const QString &name, Core::Id type, + MachineType machineType, Origin origin, Core::Id id); LinuxDeviceConfiguration(const LinuxDeviceConfiguration &other); - QVariantMap toMap() const; - private: LinuxDeviceConfiguration &operator=(const LinuxDeviceConfiguration &); - LinuxDeviceConfiguration::MachineType m_machineType; }; } // namespace RemoteLinux