Consider using char* as well as string.
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 31 May 2017 10:09:27 +0000 (12:09 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 1 Jun 2017 16:26:18 +0000 (18:26 +0200)
Change-Id: I08aba32f1273c7be305ceacf121e42fddfca173e
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
CAN-binder/low-can-binding/utils/openxc-utils.cpp
CAN-binder/low-can-binding/utils/openxc-utils.hpp

index 27c2509..2449c47 100644 (file)
@@ -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
@@ -180,6 +181,28 @@ const openxc_SimpleMessage build_SimpleMessage(const std::string& name, const op
        return s;
 }
 
+///
+/// @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 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
 ///
index edfc497..34ac3eb 100644 (file)
@@ -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);