From 66528d6f38933ab2ae5139557fcb306021d32e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 26 Nov 2015 16:37:11 +0100 Subject: [PATCH] fix #243 --- server/jsonrpc/jsontypes.cpp | 34 ++++++++++++++++++++++++++++++++-- server/jsonrpc/jsontypes.h | 3 ++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/server/jsonrpc/jsontypes.cpp b/server/jsonrpc/jsontypes.cpp index 4b67ff35..a9b3c715 100644 --- a/server/jsonrpc/jsontypes.cpp +++ b/server/jsonrpc/jsontypes.cpp @@ -405,7 +405,7 @@ QVariantMap JsonTypes::packStateType(const StateType &stateType) QVariantMap variantMap; variantMap.insert("id", stateType.id()); variantMap.insert("name", stateType.name()); - variantMap.insert("type", QVariant::typeToName(stateType.type())); + variantMap.insert("type", basicTypeToString(stateType.type())); variantMap.insert("defaultValue", stateType.defaultValue()); if(stateType.unit() != Types::UnitNone) { @@ -465,7 +465,7 @@ QVariantMap JsonTypes::packParamType(const ParamType ¶mType) { QVariantMap variantMap; variantMap.insert("name", paramType.name()); - variantMap.insert("type", QVariant::typeToName(paramType.type())); + variantMap.insert("type", basicTypeToString(paramType.type())); // optional if (paramType.defaultValue().isValid()) { variantMap.insert("defaultValue", paramType.defaultValue()); @@ -797,6 +797,36 @@ QVariantList JsonTypes::packPlugins() return pluginsList; } +QString JsonTypes::basicTypeToString(const QVariant::Type &type) +{ + switch (type) { + case QVariant::Uuid: + return "Uuid"; + break; + case QVariant::String: + return "String"; + break; + case QVariant::Int: + return "Int"; + break; + case QVariant::UInt: + return "UInt"; + break; + case QVariant::Double: + return "Double"; + break; + case QVariant::Bool: + return "Bool"; + break; + case QVariant::Color: + return "Color"; + break; + default: + return QVariant::typeToName(type); + break; + } +} + Param JsonTypes::unpackParam(const QVariantMap ¶mMap) { if (paramMap.keys().count() == 0) { diff --git a/server/jsonrpc/jsontypes.h b/server/jsonrpc/jsontypes.h index 1688a570..6f5fe763 100644 --- a/server/jsonrpc/jsontypes.h +++ b/server/jsonrpc/jsontypes.h @@ -135,7 +135,7 @@ public: DECLARE_OBJECT(ruleDescription, "RuleDescription") DECLARE_OBJECT(logEntry, "LogEntry") - // pack types + // pack types static QVariantMap packEventType(const EventType &eventType); static QVariantMap packEvent(const Event &event); static QVariantMap packEventDescriptor(const EventDescriptor &event); @@ -176,6 +176,7 @@ public: static QVariantList packEventTypes(const DeviceClass &deviceClass); static QVariantList packPlugins(); + static QString basicTypeToString(const QVariant::Type &type); // unpack Types static Param unpackParam(const QVariantMap ¶mMap);