aboutsummaryrefslogtreecommitdiffstats
path: root/src/vis-session.cpp
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 /src/vis-session.cpp
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
Diffstat (limited to 'src/vis-session.cpp')
-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 {