RemoteLinux: Change data type for better extensibility.

Other plugins are expected to build on the RemoteLinux infrastructure
in the future, providing OS types of their own. A string-based
identifier is much better suited for that than the currently used
enum approach.

Change-Id: I702a1ed7628d908d9c68ae0910ad1a6f1b92786f
Reviewed-on: http://codereview.qt.nokia.com/357
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
Christian Kandeler
2011-06-07 12:12:30 +02:00
parent c062dbe704
commit 9b27d80f67
25 changed files with 211 additions and 222 deletions

View File

@@ -72,31 +72,36 @@ class REMOTELINUX_EXPORT LinuxDeviceConfiguration
public:
typedef QSharedPointer<const LinuxDeviceConfiguration> ConstPtr;
typedef quint64 Id;
enum OsVersion { Maemo5, Maemo6, Meego, GenericLinux };
static const QString Maemo5OsType;
static const QString HarmattanOsType;
static const QString MeeGoOsType;
static const QString GenericLinuxOsType;
enum DeviceType { Physical, Emulator };
PortList freePorts() const;
Utils::SshConnectionParameters sshParameters() const { return m_sshParameters; }
QString name() const { return m_name; }
OsVersion osVersion() const { return m_osVersion; }
QString osType() const { return m_osType; }
DeviceType type() const { return m_type; }
QString portsSpec() const { return m_portsSpec; }
Id internalId() const { return m_internalId; }
bool isDefault() const { return m_isDefault; }
static QString portsRegExpr();
static QString defaultHost(DeviceType type, OsVersion osVersion);
static QString defaultHost(DeviceType type, const QString &osType);
static QString defaultPrivateKeyFilePath();
static QString defaultPublicKeyFilePath();
static QString defaultUser(OsVersion osVersion);
static QString defaultUser(const QString &osType);
static int defaultSshPort(DeviceType type);
static QString defaultQemuPassword(OsVersion osVersion);
static QString defaultQemuPassword(const QString &osType);
static const Id InvalidId;
private:
typedef QSharedPointer<LinuxDeviceConfiguration> Ptr;
LinuxDeviceConfiguration(const QString &name, OsVersion osVersion,
LinuxDeviceConfiguration(const QString &name, const QString &osType,
DeviceType type, const Utils::SshConnectionParameters &sshParams,
Id &nextId);
LinuxDeviceConfiguration(const QSettings &settings, Id &nextId);
@@ -105,7 +110,7 @@ private:
LinuxDeviceConfiguration(const LinuxDeviceConfiguration &);
LinuxDeviceConfiguration &operator=(const LinuxDeviceConfiguration &);
static Ptr createHardwareConfig(const QString &name, OsVersion osVersion,
static Ptr createHardwareConfig(const QString &name, const QString &osType,
const QString &hostName, const QString &privateKeyFilePath, Id &nextId);
static Ptr createGenericLinuxConfigUsingPassword(const QString &name,
const QString &hostName, const QString &userName,
@@ -113,7 +118,7 @@ private:
static Ptr createGenericLinuxConfigUsingKey(const QString &name,
const QString &hostName, const QString &userName,
const QString &privateKeyFilePath, Id &nextId);
static Ptr createEmulatorConfig(const QString &name, OsVersion osVersion,
static Ptr createEmulatorConfig(const QString &name, const QString &osType,
Id &nextId);
static Ptr create(const QSettings &settings, Id &nextId);
static Ptr create(const ConstPtr &other);
@@ -123,7 +128,7 @@ private:
Utils::SshConnectionParameters m_sshParameters;
QString m_name;
OsVersion m_osVersion;
QString m_osType;
DeviceType m_type;
QString m_portsSpec;
bool m_isDefault;