Skip to content
Merged
14 changes: 14 additions & 0 deletions include/fastdds/dds/xtypes/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,20 @@ FASTDDS_EXPORTED_API ReturnCode_t json_serialize(
DynamicDataJsonFormat format,
std::ostream& output) noexcept;

/*!
* Deserializes a JSON object string into a @ref DynamicData.
* @param[in] input JSON object string to be deserialized.
* @param[in] dynamic_type @ref DynamicType corresponding to the @ref DynamicData where the JSON string is deserialized.
* @param[in] format @ref DynamicDataJsonFormat JSON serialization format.
* @param[in,out] data @ref DynamicData reference where the JSON string is deserialized. Must be null.
* @retval RETCODE_OK when deserialization fully succeeds, RETCODE_BAD_PARAMETER when parsing fails or preconditions are not met, and inner (member deserialization) failing code otherwise.
*/
FASTDDS_EXPORTED_API ReturnCode_t json_deserialize(
const std::string& input,
const DynamicType::_ref_type& dynamic_type,
DynamicDataJsonFormat format,
DynamicData::_ref_type& data) noexcept;

} // dds
} // fastdds
} // eprosima
Expand Down
1 change: 1 addition & 0 deletions src/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ set(${PROJECT_NAME}_source_files
fastdds/xtypes/exception/Exception.cpp
fastdds/xtypes/serializers/idl/dynamic_type_idl.cpp
fastdds/xtypes/serializers/json/dynamic_data_json.cpp
fastdds/xtypes/serializers/json/json_dynamic_data.cpp
fastdds/xtypes/type_representation/dds_xtypes_typeobjectPubSubTypes.cxx
fastdds/xtypes/type_representation/TypeObjectRegistry.cpp
fastdds/xtypes/type_representation/TypeObjectUtils.cpp
Expand Down
2 changes: 2 additions & 0 deletions src/cpp/fastdds/xtypes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ target_sources(fastdds-xtypes-dynamic-types-impl INTERFACE
serializers/idl/dynamic_type_idl.hpp
serializers/json/dynamic_data_json.cpp
serializers/json/dynamic_data_json.hpp
serializers/json/json_dynamic_data.cpp
serializers/json/json_dynamic_data.hpp
utils.cpp
)

Expand Down
Loading
Loading