Update message data type handling 38/28138/1 needlefish
authorScott Murray <scott.murray@konsulko.com>
Tue, 8 Nov 2022 16:06:01 +0000 (11:06 -0500)
committerScott Murray <scott.murray@konsulko.com>
Tue, 8 Nov 2022 16:17:44 +0000 (16:17 +0000)
KUKSA.val 0.2.1 always returned numeric values as floating point, this
has changed with 0.2.5 and support is required to handle data points
actually having integer or unsigned integer types.

Bug-AGL: SPEC-4598

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ica9b3e5fc27e110c02788dde6549e0bb194ffeb1

src/vis-session.cpp

index 880e3ae..53a554c 100644 (file)
@@ -288,6 +288,12 @@ bool VisSession::parseData(const json &message, std::string &path, std::string &
        } else if (dp["value"].is_number_float()) {
                double num = dp["value"];
                value = std::to_string(num);
+       } else if (dp["value"].is_number_unsigned()) {
+               unsigned int num = dp["value"];
+               value = std::to_string(num);
+       } else if (dp["value"].is_number_integer()) {
+               int num = dp["value"];
+               value = std::to_string(num);
        } else if (dp["value"].is_boolean()) {
                value = dp["value"] ? "true" : "false";
        } else {