forked from qt-creator/qt-creator
RemoteLinux: Support generic attributes in device configuration.
Can be used by specialized plugins to store additional information. Change-Id: I28cd28920aab9f0029a192f58437467fcf7ea395 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
@@ -59,6 +59,7 @@ const QLatin1String PasswordKey("Password");
|
||||
const QLatin1String TimeoutKey("Timeout");
|
||||
const QLatin1String IsDefaultKey("IsDefault");
|
||||
const QLatin1String InternalIdKey("InternalId");
|
||||
const QLatin1String AttributesKey("Attributes");
|
||||
|
||||
const AuthType DefaultAuthType(SshConnectionParameters::AuthenticationByKey);
|
||||
const int DefaultTimeout(10);
|
||||
@@ -81,6 +82,7 @@ public:
|
||||
bool isDefault;
|
||||
LinuxDeviceConfiguration::Origin origin;
|
||||
LinuxDeviceConfiguration::Id internalId;
|
||||
QVariantHash attributes;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
@@ -105,14 +107,15 @@ LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create(const ConstPtr &o
|
||||
|
||||
LinuxDeviceConfiguration::Ptr LinuxDeviceConfiguration::create(const QString &name,
|
||||
const QString &osType, DeviceType deviceType, const PortList &freePorts,
|
||||
const SshConnectionParameters &sshParams, Origin origin)
|
||||
const SshConnectionParameters &sshParams, const QVariantHash &attributes, Origin origin)
|
||||
{
|
||||
return Ptr(new LinuxDeviceConfiguration(name, osType, deviceType, freePorts, sshParams, origin));
|
||||
return Ptr(new LinuxDeviceConfiguration(name, osType, deviceType, freePorts, sshParams,
|
||||
attributes, origin));
|
||||
}
|
||||
|
||||
LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QString &name, const QString &osType,
|
||||
DeviceType deviceType, const PortList &freePorts, const SshConnectionParameters &sshParams,
|
||||
Origin origin)
|
||||
const QVariantHash &attributes, Origin origin)
|
||||
: d(new LinuxDeviceConfigurationPrivate(sshParams))
|
||||
{
|
||||
d->displayName = name;
|
||||
@@ -121,6 +124,7 @@ LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QString &name, const QS
|
||||
d->freePorts = freePorts;
|
||||
d->isDefault = false;
|
||||
d->origin = origin;
|
||||
d->attributes = attributes;
|
||||
}
|
||||
|
||||
LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QSettings &settings, Id &nextId)
|
||||
@@ -136,6 +140,8 @@ LinuxDeviceConfiguration::LinuxDeviceConfiguration(const QSettings &settings, Id
|
||||
if (d->internalId == nextId)
|
||||
++nextId;
|
||||
|
||||
d->attributes = settings.value(AttributesKey).toHash();
|
||||
|
||||
// Convert from version < 2.3.
|
||||
if (d->osType.isEmpty()) {
|
||||
const int oldOsType = settings.value(OldOsVersionKey, -1).toInt();
|
||||
@@ -169,6 +175,7 @@ LinuxDeviceConfiguration::LinuxDeviceConfiguration(const LinuxDeviceConfiguratio
|
||||
d->isDefault = other->d->isDefault;
|
||||
d->origin = other->d->origin;
|
||||
d->internalId = other->d->internalId;
|
||||
d->attributes = other->d->attributes;
|
||||
}
|
||||
|
||||
QString LinuxDeviceConfiguration::defaultPrivateKeyFilePath()
|
||||
@@ -197,6 +204,7 @@ void LinuxDeviceConfiguration::save(QSettings &settings) const
|
||||
settings.setValue(TimeoutKey, d->sshParameters.timeout);
|
||||
settings.setValue(IsDefaultKey, d->isDefault);
|
||||
settings.setValue(InternalIdKey, d->internalId);
|
||||
settings.setValue(AttributesKey, d->attributes);
|
||||
}
|
||||
|
||||
SshConnectionParameters LinuxDeviceConfiguration::sshParameters() const
|
||||
@@ -229,6 +237,11 @@ bool LinuxDeviceConfiguration::isAutoDetected() const
|
||||
return d->origin == AutoDetected;
|
||||
}
|
||||
|
||||
QVariantHash LinuxDeviceConfiguration::attributes() const
|
||||
{
|
||||
return d->attributes;
|
||||
}
|
||||
|
||||
PortList LinuxDeviceConfiguration::freePorts() const { return d->freePorts; }
|
||||
QString LinuxDeviceConfiguration::displayName() const { return d->displayName; }
|
||||
QString LinuxDeviceConfiguration::osType() const { return d->osType; }
|
||||
|
||||
Reference in New Issue
Block a user