Add current state values to device map -> close #295
This commit is contained in:
parent
074f1a7cd2
commit
57df12aec5
@ -204,6 +204,10 @@ void JsonTypes::init()
|
|||||||
s_device.insert("deviceClassId", basicTypeToString(Uuid));
|
s_device.insert("deviceClassId", basicTypeToString(Uuid));
|
||||||
s_device.insert("name", basicTypeToString(String));
|
s_device.insert("name", basicTypeToString(String));
|
||||||
s_device.insert("params", QVariantList() << paramRef());
|
s_device.insert("params", QVariantList() << paramRef());
|
||||||
|
QVariantMap stateValues;
|
||||||
|
stateValues.insert("stateTypeId", basicTypeToString(Uuid));
|
||||||
|
stateValues.insert("value", basicTypeToString(Variant));
|
||||||
|
s_device.insert("states", QVariantList() << stateValues);
|
||||||
s_device.insert("setupComplete", basicTypeToString(Bool));
|
s_device.insert("setupComplete", basicTypeToString(Bool));
|
||||||
s_device.insert("o:parentId", basicTypeToString(Uuid));
|
s_device.insert("o:parentId", basicTypeToString(Uuid));
|
||||||
|
|
||||||
@ -587,6 +591,7 @@ QVariantMap JsonTypes::packDevice(Device *device)
|
|||||||
variant.insert("parentId", device->parentId());
|
variant.insert("parentId", device->parentId());
|
||||||
|
|
||||||
variant.insert("params", params);
|
variant.insert("params", params);
|
||||||
|
variant.insert("states", packDeviceStates(device));
|
||||||
variant.insert("setupComplete", device->setupComplete());
|
variant.insert("setupComplete", device->setupComplete());
|
||||||
return variant;
|
return variant;
|
||||||
}
|
}
|
||||||
@ -1198,6 +1203,12 @@ QPair<bool, QString> JsonTypes::validateVariant(const QVariant &templateVariant,
|
|||||||
qCWarning(dcJsonRpc) << "ruleDescription type not matching";
|
qCWarning(dcJsonRpc) << "ruleDescription type not matching";
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
} else if (refName == stateRef()) {
|
||||||
|
QPair<bool, QString> result = validateMap(s_state, variant.toMap());
|
||||||
|
if (!result.first) {
|
||||||
|
qCWarning(dcJsonRpc) << "state not matching";
|
||||||
|
return result;
|
||||||
|
}
|
||||||
} else if (refName == eventDescriptorRef()) {
|
} else if (refName == eventDescriptorRef()) {
|
||||||
QPair<bool, QString> result = validateMap(eventDescriptorDescription(), variant.toMap());
|
QPair<bool, QString> result = validateMap(eventDescriptorDescription(), variant.toMap());
|
||||||
if (!result.first) {
|
if (!result.first) {
|
||||||
|
|||||||
@ -139,7 +139,7 @@ HttpReply *DevicesResource::proccessGetRequest(const HttpRequest &request, const
|
|||||||
|
|
||||||
if (!m_device->hasState(stateTypeId)){
|
if (!m_device->hasState(stateTypeId)){
|
||||||
qCWarning(dcRest) << "This device has no StateTypeId:" << urlTokens.at(5);
|
qCWarning(dcRest) << "This device has no StateTypeId:" << urlTokens.at(5);
|
||||||
return createDeviceErrorReply(HttpReply::NotFound, DeviceManager::DeviceErrorStateTypeNotFound);
|
return createDeviceErrorReply(HttpReply::NotFound, DeviceManager::DeviceErrorStateTypeNotFound);
|
||||||
}
|
}
|
||||||
return getDeviceStateValue(m_device, stateTypeId);
|
return getDeviceStateValue(m_device, stateTypeId);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user