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);