diff options
-rw-r--r-- | CAN-binder/low-can-binding/utils/openxc-utils.cpp | 25 | ||||
-rw-r--r-- | CAN-binder/low-can-binding/utils/openxc-utils.hpp | 1 |
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 27c2509..2449c47 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 edfc497..34ac3eb 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); |