summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-31 12:09:27 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-06-01 18:26:18 +0200
commita3ea0574a55751d4df1d784d89bccca5ac76cfd6 (patch)
treeae69e13fa82e487181a7d8662456f0a22c120954 /CAN-binder/low-can-binding
parent862a59747245529ae2b6039a00b639e747069aae (diff)
Consider using char* as well as string.
Change-Id: I08aba32f1273c7be305ceacf121e42fddfca173e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding')
-rw-r--r--CAN-binder/low-can-binding/utils/openxc-utils.cpp25
-rw-r--r--CAN-binder/low-can-binding/utils/openxc-utils.hpp1
2 files changed, 25 insertions, 1 deletions
diff --git a/CAN-binder/low-can-binding/utils/openxc-utils.cpp b/CAN-binder/low-can-binding/utils/openxc-utils.cpp
index 27c2509c..2449c47a 100644
--- a/CAN-binder/low-can-binding/utils/openxc-utils.cpp
+++ b/CAN-binder/low-can-binding/utils/openxc-utils.cpp
@@ -87,9 +87,10 @@ const openxc_VehicleMessage build_VehicleMessage(active_diagnostic_request_t* re
return message;
}
///
-/// @brief Build a specific VehicleMessage containing a SimpleMessage.
+/// @brief Build a specific VehicleMessage containing a SimpleMessage with associated timestamp
///
/// @param[in] message - simple message to include into openxc_VehicleMessage
+/// @param[in] timestamp - timestamp from ioctl when reading the socket
///
/// @return a vehicle message including simple message that will be convert into
/// a JSON object before being pushed to the subscribers
@@ -188,6 +189,28 @@ const openxc_SimpleMessage build_SimpleMessage(const std::string& name, const op
///
/// @return openxc_DynamicField initialized with a string value.
///
+const openxc_DynamicField build_DynamicField(const char* value)
+{
+ openxc_DynamicField d;
+ d.has_type = true;
+ d.type = openxc_DynamicField_Type_STRING;
+
+ d.has_string_value = true;
+ d.has_numeric_value = false;
+ d.has_boolean_value = false;
+ ::strncpy(d.string_value, value, 100);
+
+ return d;
+}
+
+///
+/// @brief Build an openxc_DynamicField with a string value
+///
+/// @param[in] value - const string reference value to assign to builded
+/// openxc_DynamicField.
+///
+/// @return openxc_DynamicField initialized with a string value.
+///
const openxc_DynamicField build_DynamicField(const std::string& value)
{
openxc_DynamicField d;
diff --git a/CAN-binder/low-can-binding/utils/openxc-utils.hpp b/CAN-binder/low-can-binding/utils/openxc-utils.hpp
index edfc497d..34ac3eb3 100644
--- a/CAN-binder/low-can-binding/utils/openxc-utils.hpp
+++ b/CAN-binder/low-can-binding/utils/openxc-utils.hpp
@@ -32,6 +32,7 @@ openxc_VehicleMessage build_VehicleMessage();
bool is_valid(const openxc_VehicleMessage& v);
const openxc_SimpleMessage build_SimpleMessage(const std::string& name, const openxc_DynamicField& value);
+const openxc_DynamicField build_DynamicField(const char* value);
const openxc_DynamicField build_DynamicField(const std::string& value);
const openxc_DynamicField build_DynamicField(double value);
const openxc_DynamicField build_DynamicField(bool value);