summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-11-08 11:06:01 -0500
committerScott Murray <scott.murray@konsulko.com>2022-11-08 11:11:43 -0500
commitf137c6762e9055600089bb251850f979f62aed50 (patch)
tree285b0174eaed6ec3fc9be78e057b84a618d69b43
parent509105d48cd1524cba1f20c4e0641d8c2d3a9cb4 (diff)
Update message data type handling
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
-rw-r--r--src/vis-session.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vis-session.cpp b/src/vis-session.cpp
index 880e3ae..53a554c 100644
--- a/src/vis-session.cpp
+++ b/src/vis-session.cpp
@@ -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 {