improve json api
This commit is contained in:
parent
29c6fa4071
commit
9bfd634cd6
@ -180,7 +180,7 @@ DeviceManager::DeviceError DeviceManager::addConfiguredDevice(const DeviceClassI
|
|||||||
return DeviceErrorCreationMethodNotSupported;
|
return DeviceErrorCreationMethodNotSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
DeviceManager::DeviceError DeviceManager::addConfiguredDevice(const DeviceClassId &deviceClassId, const DeviceDescriptorId &deviceDescriptorId)
|
DeviceManager::DeviceError DeviceManager::addConfiguredDevice(const DeviceClassId &deviceClassId, const DeviceDescriptorId &deviceDescriptorId, const DeviceId &deviceId)
|
||||||
{
|
{
|
||||||
DeviceClass deviceClass = findDeviceClass(deviceClassId);
|
DeviceClass deviceClass = findDeviceClass(deviceClassId);
|
||||||
if (!deviceClass.isValid()) {
|
if (!deviceClass.isValid()) {
|
||||||
@ -195,7 +195,7 @@ DeviceManager::DeviceError DeviceManager::addConfiguredDevice(const DeviceClassI
|
|||||||
return DeviceErrorDeviceDescriptorNotFound;
|
return DeviceErrorDeviceDescriptorNotFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
return addConfiguredDeviceInternal(deviceClassId, descriptor.params());
|
return addConfiguredDeviceInternal(deviceClassId, descriptor.params(), deviceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
DeviceManager::DeviceError DeviceManager::addConfiguredDeviceInternal(const DeviceClassId &deviceClassId, const QVariantMap ¶ms, const DeviceId id)
|
DeviceManager::DeviceError DeviceManager::addConfiguredDeviceInternal(const DeviceClassId &deviceClassId, const QVariantMap ¶ms, const DeviceId id)
|
||||||
|
|||||||
@ -73,7 +73,7 @@ public:
|
|||||||
|
|
||||||
QList<Device*> configuredDevices() const;
|
QList<Device*> configuredDevices() const;
|
||||||
DeviceError addConfiguredDevice(const DeviceClassId &deviceClassId, const QVariantMap ¶ms, const DeviceId id = DeviceId::createDeviceId());
|
DeviceError addConfiguredDevice(const DeviceClassId &deviceClassId, const QVariantMap ¶ms, const DeviceId id = DeviceId::createDeviceId());
|
||||||
DeviceError addConfiguredDevice(const DeviceClassId &deviceClassId, const DeviceDescriptorId &deviceDescriptorId);
|
DeviceError addConfiguredDevice(const DeviceClassId &deviceClassId, const DeviceDescriptorId &deviceDescriptorId, const DeviceId &id = DeviceId::createDeviceId());
|
||||||
DeviceError removeConfiguredDevice(const DeviceId &deviceId);
|
DeviceError removeConfiguredDevice(const DeviceId &deviceId);
|
||||||
|
|
||||||
Device* findConfiguredDevice(const DeviceId &id) const;
|
Device* findConfiguredDevice(const DeviceId &id) const;
|
||||||
|
|||||||
@ -66,11 +66,12 @@ DeviceHandler::DeviceHandler(QObject *parent) :
|
|||||||
setReturns("SetPluginConfiguration", returns);
|
setReturns("SetPluginConfiguration", returns);
|
||||||
|
|
||||||
params.clear(); returns.clear();
|
params.clear(); returns.clear();
|
||||||
setDescription("AddConfiguredDevice", "Add a configured device.");
|
setDescription("AddConfiguredDevice", "Add a configured device. Use deviceDescriptorId or deviceParams, depending on the createMethod of the device class.");
|
||||||
params.insert("deviceClassId", "uuid");
|
params.insert("deviceClassId", "uuid");
|
||||||
|
params.insert("o:deviceDescriptorId", "uuid");
|
||||||
QVariantList deviceParams;
|
QVariantList deviceParams;
|
||||||
deviceParams.append(JsonTypes::paramRef());
|
deviceParams.append(JsonTypes::paramRef());
|
||||||
params.insert("deviceParams", deviceParams);
|
params.insert("o:deviceParams", deviceParams);
|
||||||
setParams("AddConfiguredDevice", params);
|
setParams("AddConfiguredDevice", params);
|
||||||
returns.insert("success", "bool");
|
returns.insert("success", "bool");
|
||||||
returns.insert("errorMessage", "string");
|
returns.insert("errorMessage", "string");
|
||||||
@ -248,8 +249,14 @@ JsonReply* DeviceHandler::AddConfiguredDevice(const QVariantMap ¶ms)
|
|||||||
{
|
{
|
||||||
DeviceClassId deviceClass(params.value("deviceClassId").toString());
|
DeviceClassId deviceClass(params.value("deviceClassId").toString());
|
||||||
QVariantMap deviceParams = params.value("deviceParams").toMap();
|
QVariantMap deviceParams = params.value("deviceParams").toMap();
|
||||||
|
DeviceDescriptorId deviceDescriptorId(params.value("deviceDescriptorId").toString());
|
||||||
DeviceId newDeviceId = DeviceId::createDeviceId();
|
DeviceId newDeviceId = DeviceId::createDeviceId();
|
||||||
DeviceManager::DeviceError status = GuhCore::instance()->deviceManager()->addConfiguredDevice(deviceClass, deviceParams, newDeviceId);
|
DeviceManager::DeviceError status;
|
||||||
|
if (deviceDescriptorId.isNull()) {
|
||||||
|
status = GuhCore::instance()->deviceManager()->addConfiguredDevice(deviceClass, deviceParams, newDeviceId);
|
||||||
|
} else {
|
||||||
|
status = GuhCore::instance()->deviceManager()->addConfiguredDevice(deviceClass, deviceDescriptorId, newDeviceId);
|
||||||
|
}
|
||||||
QVariantMap returns;
|
QVariantMap returns;
|
||||||
switch(status) {
|
switch(status) {
|
||||||
case DeviceManager::DeviceErrorNoError:
|
case DeviceManager::DeviceErrorNoError:
|
||||||
|
|||||||
Reference in New Issue
Block a user