summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-11-08 11:09:22 -0500
committerScott Murray <scott.murray@konsulko.com>2022-11-08 11:16:53 -0500
commit98445b49ecb0b97f1edee577ac6e78ed921fae7d (patch)
tree912415bc73a88e2ea71c7db48a27e4185e163964
parent096908375ecbfc6388d0aec69a35b2a8ffc53d47 (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: Ia37a52e1dee6726ef56f5e9d7efe445b112c344d
-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 {