diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-11-08 11:06:01 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-11-08 11:11:43 -0500 |
commit | f137c6762e9055600089bb251850f979f62aed50 (patch) | |
tree | 285b0174eaed6ec3fc9be78e057b84a618d69b43 | |
parent | 509105d48cd1524cba1f20c4e0641d8c2d3a9cb4 (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.cpp | 6 |
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 { |