summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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 {