forked from qt-creator/qt-creator
Start making the Maemo support more generic.
This includes:
- decoupling deploy configurations from targets (Reviewed-by: dt)
- adding a "Generic Linux" device type
- splitting up the Maemo deployment step into small pieces that
can be combined in different ways (and much more easily maintained)
- adding a new version handler for pro.user files
(Reviewed-by: Tobias Hunger)
Also:
- Add and use an SSH manager class for easier connection sharing.
- Make the SSH connection parameters a fixed attribute of the connection.
This commit is contained in:
@@ -78,25 +78,25 @@ public:
|
||||
MaemoPortList freePorts() const;
|
||||
Utils::SshConnectionParameters sshParameters() const { return m_sshParameters; }
|
||||
QString name() const { return m_name; }
|
||||
MaemoGlobal::MaemoVersion osVersion() const { return m_osVersion; }
|
||||
MaemoGlobal::OsVersion osVersion() const { return m_osVersion; }
|
||||
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);
|
||||
static QString defaultHost(DeviceType type, MaemoGlobal::OsVersion osVersion);
|
||||
static QString defaultPrivateKeyFilePath();
|
||||
static QString defaultPublicKeyFilePath();
|
||||
static QString defaultUser(MaemoGlobal::MaemoVersion osVersion);
|
||||
static QString defaultUser(MaemoGlobal::OsVersion osVersion);
|
||||
static int defaultSshPort(DeviceType type);
|
||||
static QString defaultQemuPassword(MaemoGlobal::MaemoVersion osVersion);
|
||||
static QString defaultQemuPassword(MaemoGlobal::OsVersion osVersion);
|
||||
|
||||
static const Id InvalidId;
|
||||
|
||||
private:
|
||||
typedef QSharedPointer<MaemoDeviceConfig> Ptr;
|
||||
|
||||
MaemoDeviceConfig(const QString &name, MaemoGlobal::MaemoVersion osVersion,
|
||||
MaemoDeviceConfig(const QString &name, MaemoGlobal::OsVersion osVersion,
|
||||
DeviceType type, const Utils::SshConnectionParameters &sshParams,
|
||||
Id &nextId);
|
||||
MaemoDeviceConfig(const QSettings &settings, Id &nextId);
|
||||
@@ -106,10 +106,16 @@ private:
|
||||
MaemoDeviceConfig &operator=(const MaemoDeviceConfig &);
|
||||
|
||||
static Ptr createHardwareConfig(const QString &name,
|
||||
MaemoGlobal::MaemoVersion osVersion, const QString &hostName,
|
||||
const QString privateKeyFilePath, Id &nextId);
|
||||
MaemoGlobal::OsVersion osVersion, const QString &hostName,
|
||||
const QString &privateKeyFilePath, Id &nextId);
|
||||
static Ptr createGenericLinuxConfigUsingPassword(const QString &name,
|
||||
const QString &hostName, const QString &userName,
|
||||
const QString &password, Id &nextId);
|
||||
static Ptr createGenericLinuxConfigUsingKey(const QString &name,
|
||||
const QString &hostName, const QString &userName,
|
||||
const QString &privateKeyFilePath, Id &nextId);
|
||||
static Ptr createEmulatorConfig(const QString &name,
|
||||
MaemoGlobal::MaemoVersion osVersion, Id &nextId);
|
||||
MaemoGlobal::OsVersion osVersion, Id &nextId);
|
||||
static Ptr create(const QSettings &settings, Id &nextId);
|
||||
static Ptr create(const ConstPtr &other);
|
||||
|
||||
@@ -118,7 +124,7 @@ private:
|
||||
|
||||
Utils::SshConnectionParameters m_sshParameters;
|
||||
QString m_name;
|
||||
MaemoGlobal::MaemoVersion m_osVersion;
|
||||
MaemoGlobal::OsVersion m_osVersion;
|
||||
DeviceType m_type;
|
||||
QString m_portsSpec;
|
||||
bool m_isDefault;
|
||||
@@ -138,7 +144,7 @@ public:
|
||||
|
||||
MaemoDeviceConfig::ConstPtr deviceAt(int index) const;
|
||||
MaemoDeviceConfig::ConstPtr find(MaemoDeviceConfig::Id id) const;
|
||||
MaemoDeviceConfig::ConstPtr defaultDeviceConfig(const MaemoGlobal::MaemoVersion osVersion) const;
|
||||
MaemoDeviceConfig::ConstPtr defaultDeviceConfig(const MaemoGlobal::OsVersion osVersion) const;
|
||||
bool hasConfig(const QString &name) const;
|
||||
int indexForInternalId(MaemoDeviceConfig::Id internalId) const;
|
||||
MaemoDeviceConfig::Id internalId(MaemoDeviceConfig::ConstPtr devConf) const;
|
||||
@@ -147,10 +153,16 @@ public:
|
||||
QString defaultSshKeyFilePath() const { return m_defaultSshKeyFilePath; }
|
||||
|
||||
void addHardwareDeviceConfiguration(const QString &name,
|
||||
MaemoGlobal::MaemoVersion osVersion, const QString &hostName,
|
||||
const QString privateKeyFilePath);
|
||||
MaemoGlobal::OsVersion osVersion, const QString &hostName,
|
||||
const QString &privateKeyFilePath);
|
||||
void addGenericLinuxConfigurationUsingPassword(const QString &name,
|
||||
const QString &hostName, const QString &userName,
|
||||
const QString &password);
|
||||
void addGenericLinuxConfigurationUsingKey(const QString &name,
|
||||
const QString &hostName, const QString &userName,
|
||||
const QString &privateKeyFilePath);
|
||||
void addEmulatorDeviceConfiguration(const QString &name,
|
||||
MaemoGlobal::MaemoVersion osVersion);
|
||||
MaemoGlobal::OsVersion osVersion);
|
||||
void removeConfiguration(int index);
|
||||
void setConfigurationName(int i, const QString &name);
|
||||
void setSshParameters(int i, const Utils::SshConnectionParameters ¶ms);
|
||||
@@ -171,7 +183,7 @@ private:
|
||||
static void copy(const MaemoDeviceConfigurations *source,
|
||||
MaemoDeviceConfigurations *target, bool deep);
|
||||
void addConfiguration(const MaemoDeviceConfig::Ptr &devConfig);
|
||||
void ensureDefaultExists(MaemoGlobal::MaemoVersion osVersion);
|
||||
void ensureDefaultExists(MaemoGlobal::OsVersion osVersion);
|
||||
|
||||
static MaemoDeviceConfigurations *m_instance;
|
||||
MaemoDeviceConfig::Id m_nextId;
|
||||
|
||||
Reference in New Issue
Block a user