diff --git a/libnymea/jsonrpc/jsonhandler.cpp b/libnymea/jsonrpc/jsonhandler.cpp index 5233618b..b9a57250 100644 --- a/libnymea/jsonrpc/jsonhandler.cpp +++ b/libnymea/jsonrpc/jsonhandler.cpp @@ -208,7 +208,7 @@ void JsonHandler::registerObject(const QMetaObject &metaObject) typeName = QString("$ref:BasicType"); } else if (QString(metaProperty.typeName()).startsWith("QList")) { QString elementType = QString(metaProperty.typeName()).remove("QList<").remove(">"); - if (elementType == "EventTypeId" || elementType == "StateTypeId" || elementType == "ActionTypeId") { + if (elementType == "ThingId" || elementType == "EventTypeId" || elementType == "StateTypeId" || elementType == "ActionTypeId") { elementType = "QUuid"; } QVariant::Type variantType = QVariant::nameToType(elementType.toUtf8()); @@ -354,6 +354,10 @@ QVariant JsonHandler::pack(const QMetaObject &metaObject, const void *value) con foreach (const QUuid &entry, propertyValue.value>()) { list << entry; } + } else if (propertyTypeName == "QList") { + foreach (const ThingId &entry, propertyValue.value>()) { + list << entry; + } } else if (propertyTypeName == "QList") { foreach (const EventTypeId &entry, propertyValue.value>()) { list << entry; @@ -482,6 +486,7 @@ QVariant JsonHandler::unpack(const QMetaObject &metaObject, const QVariant &valu } metaProperty.writeOnGadget(ptr, QVariant::fromValue(intList)); } else if (metaProperty.typeName() == QStringLiteral("QList") + || metaProperty.typeName() == QStringLiteral("QList") || metaProperty.typeName() == QStringLiteral("QList") || metaProperty.typeName() == QStringLiteral("QList") || metaProperty.typeName() == QStringLiteral("QList")) {