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");
|
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;
|
QVariantMap params;
|
||||||
params.insert("deviceId", deviceId.toString());
|
params.insert("deviceId", deviceId.toString());
|
||||||
params.insert("deviceDescriptorId", deviceDescriptorId);
|
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");
|
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 editDevice(const QUuid &deviceId, const QString &name);
|
||||||
Q_INVOKABLE void setDeviceSettings(const QUuid &deviceId, const QVariantList &settings);
|
Q_INVOKABLE void setDeviceSettings(const QUuid &deviceId, const QVariantList &settings);
|
||||||
Q_INVOKABLE void reconfigureDevice(const QUuid &deviceId, const QVariantList &deviceParams);
|
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 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 BrowserItems* browseDevice(const QUuid &deviceId, const QString &itemId = QString());
|
||||||
Q_INVOKABLE void refreshBrowserItems(BrowserItems *browserItems);
|
Q_INVOKABLE void refreshBrowserItems(BrowserItems *browserItems);
|
||||||
|
|||||||
@ -75,7 +75,7 @@ Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
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) {
|
if (root.deviceClass.createMethods.indexOf("CreateMethodDiscovery") !== -1) {
|
||||||
print("CreateMethodDiscovery")
|
print("CreateMethodDiscovery")
|
||||||
if (deviceClass["discoveryParamTypes"].count > 0) {
|
if (deviceClass["discoveryParamTypes"].count > 0) {
|
||||||
@ -115,11 +115,12 @@ Page {
|
|||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
|
case 5:
|
||||||
print("re-pairing", root.device.id)
|
print("re-pairing", root.device.id)
|
||||||
engine.deviceManager.rePairDevice(root.device.id, []);
|
engine.deviceManager.rePairDevice(root.device.id, []);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn("Unahndled setup method!")
|
console.warn("Unhandled setup method!")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -403,17 +404,20 @@ Page {
|
|||||||
var params = []
|
var params = []
|
||||||
for (var i = 0; i < paramRepeater.count; i++) {
|
for (var i = 0; i < paramRepeater.count; i++) {
|
||||||
var param = {}
|
var param = {}
|
||||||
param.paramTypeId = paramRepeater.itemAt(i).paramType.id
|
var paramType = paramRepeater.itemAt(i).paramType
|
||||||
param.value = paramRepeater.itemAt(i).value
|
if (!paramType.readOnly) {
|
||||||
print("adding param", param.paramTypeId, param.value)
|
param.paramTypeId = paramType.id
|
||||||
params.push(param)
|
param.value = paramRepeater.itemAt(i).value
|
||||||
|
print("adding param", param.paramTypeId, param.value)
|
||||||
|
params.push(param)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (root.deviceClass.setupMethod) {
|
switch (root.deviceClass.setupMethod) {
|
||||||
case 0:
|
case 0:
|
||||||
if (root.device) {
|
if (root.device) {
|
||||||
if (d.deviceDescriptor) {
|
if (d.deviceDescriptor) {
|
||||||
engine.deviceManager.reconfigureDiscoveredDevice(root.device.id, d.deviceDescriptor.id);
|
engine.deviceManager.reconfigureDiscoveredDevice(root.device.id, d.deviceDescriptor.id, params);
|
||||||
} else {
|
} else {
|
||||||
engine.deviceManager.reconfigureDevice(root.device.id, params);
|
engine.deviceManager.reconfigureDevice(root.device.id, params);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user