Merge PR #355: Fix providing param overrides for rediscovery
This commit is contained in:
commit
13e8b33fda
@ -503,11 +503,15 @@ void DeviceManager::reconfigureDevice(const QUuid &deviceId, const QVariantList
|
||||
m_jsonClient->sendCommand("Devices.ReconfigureDevice", params, this, "reconfigureDeviceResponse");
|
||||
}
|
||||
|
||||
void DeviceManager::reconfigureDiscoveredDevice(const QUuid &deviceId, const QUuid &deviceDescriptorId)
|
||||
void DeviceManager::reconfigureDiscoveredDevice(const QUuid &deviceId, const QUuid &deviceDescriptorId, const QVariantList ¶mOverride)
|
||||
{
|
||||
QVariantMap params;
|
||||
params.insert("deviceId", deviceId.toString());
|
||||
params.insert("deviceDescriptorId", deviceDescriptorId);
|
||||
if (!paramOverride.isEmpty()) {
|
||||
params.insert("deviceParams", paramOverride);
|
||||
}
|
||||
qDebug() << "Calling ReconfigureDevice" << qUtf8Printable(QJsonDocument::fromVariant(params).toJson());
|
||||
m_jsonClient->sendCommand("Devices.ReconfigureDevice", params, this, "reconfigureDeviceResponse");
|
||||
}
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ public:
|
||||
Q_INVOKABLE void editDevice(const QUuid &deviceId, const QString &name);
|
||||
Q_INVOKABLE void setDeviceSettings(const QUuid &deviceId, const QVariantList &settings);
|
||||
Q_INVOKABLE void reconfigureDevice(const QUuid &deviceId, const QVariantList &deviceParams);
|
||||
Q_INVOKABLE void reconfigureDiscoveredDevice(const QUuid &deviceId, const QUuid &deviceDescriptorId);
|
||||
Q_INVOKABLE void reconfigureDiscoveredDevice(const QUuid &deviceId, const QUuid &deviceDescriptorId, const QVariantList ¶mOverride);
|
||||
Q_INVOKABLE int executeAction(const QUuid &deviceId, const QUuid &actionTypeId, const QVariantList ¶ms = QVariantList());
|
||||
Q_INVOKABLE BrowserItems* browseDevice(const QUuid &deviceId, const QString &itemId = QString());
|
||||
Q_INVOKABLE void refreshBrowserItems(BrowserItems *browserItems);
|
||||
|
||||
@ -75,7 +75,7 @@ Page {
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
print("Starting setup wizard")
|
||||
print("Starting setup wizard. Create Methods:", root.deviceClass.createMethods, "Setup method:", root.deviceClass.setupMethod)
|
||||
if (root.deviceClass.createMethods.indexOf("CreateMethodDiscovery") !== -1) {
|
||||
print("CreateMethodDiscovery")
|
||||
if (deviceClass["discoveryParamTypes"].count > 0) {
|
||||
@ -115,11 +115,12 @@ Page {
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
print("re-pairing", root.device.id)
|
||||
engine.deviceManager.rePairDevice(root.device.id, []);
|
||||
break;
|
||||
default:
|
||||
console.warn("Unahndled setup method!")
|
||||
console.warn("Unhandled setup method!")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -403,17 +404,20 @@ Page {
|
||||
var params = []
|
||||
for (var i = 0; i < paramRepeater.count; i++) {
|
||||
var param = {}
|
||||
param.paramTypeId = paramRepeater.itemAt(i).paramType.id
|
||||
param.value = paramRepeater.itemAt(i).value
|
||||
print("adding param", param.paramTypeId, param.value)
|
||||
params.push(param)
|
||||
var paramType = paramRepeater.itemAt(i).paramType
|
||||
if (!paramType.readOnly) {
|
||||
param.paramTypeId = paramType.id
|
||||
param.value = paramRepeater.itemAt(i).value
|
||||
print("adding param", param.paramTypeId, param.value)
|
||||
params.push(param)
|
||||
}
|
||||
}
|
||||
|
||||
switch (root.deviceClass.setupMethod) {
|
||||
case 0:
|
||||
if (root.device) {
|
||||
if (d.deviceDescriptor) {
|
||||
engine.deviceManager.reconfigureDiscoveredDevice(root.device.id, d.deviceDescriptor.id);
|
||||
engine.deviceManager.reconfigureDiscoveredDevice(root.device.id, d.deviceDescriptor.id, params);
|
||||
} else {
|
||||
engine.deviceManager.reconfigureDevice(root.device.id, params);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user