* Add basic unit tests for refactored functions
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* PR Fixup
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Fix memory errors
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* headers moved
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Addressing feedback
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Switch to decltype
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Added benchmark test to rcl_yaml_param_parser
Signed-off-by: ahcorde <ahcorde@gmail.com>
* reset heap counters
Signed-off-by: ahcorde <ahcorde@gmail.com>
* updated benchmark tests
Signed-off-by: ahcorde <ahcorde@gmail.com>
* Added feedback
Signed-off-by: ahcorde <ahcorde@gmail.com>
* Replace BENCHMARK_DEFINE_F and BENCHMARK_REGISTER_F with BENCHMARK_F
Signed-off-by: ahcorde <ahcorde@gmail.com>
* Used rcpputils for the path
Signed-off-by: ahcorde <ahcorde@gmail.com>
* Clean up the CMake dependencies
Signed-off-by: Scott K Logan <logans@cottsay.net>
* Updated test
Signed-off-by: ahcorde <ahcorde@gmail.com>
* udpated test name
Signed-off-by: ahcorde <ahcorde@gmail.com>
Co-authored-by: Scott K Logan <logans@cottsay.net>
* Refactor parser.c for better testability (#754)
* Refactor rcl_yaml_param_parser for better testability
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Reorder parser.c to match parser.h
Signed-off-by: Stephen Brawner <brawner@gmail.com>
squash! Reorder parser.c to match parser.h
* Refactor yaml_variant.c for deduplication
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* ADD_VALUE_TO_SIMPLE_ARRAY for deduplication
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Remove fprintf
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* PR Fixup
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Move headers to src directory
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* PR Fixup
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Rebase #780
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Missing includes
Signed-off-by: Stephen Brawner <brawner@gmail.com>
* Cleanup and address issues in parser.c
Signed-off-by: Stephen Brawner <stephenbrawner@verbsurgical.com>
squash! Cleanup and address issues in parser.c
* Increase test coverage of parser
Signed-off-by: Stephen Brawner <stephenbrawner@verbsurgical.com>
* PR Fixup
Signed-off-by: Stephen Brawner <stephenbrawner@verbsurgical.com>
* PR Fixup
Signed-off-by: Stephen Brawner <stephenbrawner@verbsurgical.com>
Co-authored-by: Stephen Brawner <stephenbrawner@verbsurgical.com>
* Support parameter YAML string value parsing.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Address peer review comments.
- Improve test coverage using new getter API.
- Unify function return style and improve readability.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Clean up allocations in rcl_yaml_param_parser package tests.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Make rcl_yaml_param_parser depend on rcutils only.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Address peer review comments.
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
* Set symbol visibility to hidden for rcl
Enabling symbol visibility feature in gcc and clang compilers.
This will hep find symbol export related issues in linux and
potentially reduce compile times.
Discourse topic link:
https://discourse.ros.org/t/set-symbol-visibility-to-hidden-for-rmw-and-rcl-packages/7981
Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>
* Remove WIN specific compiler definition in configure_rcl
Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>
* Rename macro name rcl_set_symbol_visibility_hidden
Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>
* Change macro to args for rcl_set_symbol_visibility_hidden
Signed-off-by: Sachin Suresh Bhat <bhatsach@amazon.com>
* Implement a basic YAML based parameter parser for ros2 nodes
* Add README file
* Fix the issues after moving from rcutils_yaml_param_parser to rcl_yaml_param_parser
- rename folders from rcutils_yaml_param_parser to rcl_yaml_param_parser
- rename project, header guards and include statements from rcutils_yaml_param_parser to rcl_yaml_param_parser
- move type declaration in separat file and namespace new structures
- Fix the code review comments from Mikael
* Few minor changes
- Changed "params" string to "ros__parameters"
- Add -Wall, -Wextra and -Wpedantic falgs
- Fix the compile warning with the new flags
* Fix the changes made in the design of C structure
- Remove the node_namespaces entry in rcl_params_t
- Change the type of num_nodes and num_params to size_t
* depend on libyaml_vendor (#236)
* Fix cmake setting standard(C and C++) and add byte_array in C struct
* Remove C11 so that it defaults to C99
* [rcl_yaml_param_parser] fix export symbols (#237)
* add visibility macros
* remove unused macro
* Support for multi level node and parameter name spaces
* Additional fixes and cleanups
- Support for string namespace seperator
- Provide parameter structure init function API
- name cleanups
* off by 1
* Call yaml_parser_delete()
* fclose(yaml_file)
* free() allocated paths
* Call yaml_event_delete()
* completely deallcoate string array
* Few cleanup changes
- Add install command into CMakelists.txt
- Replace one of the zero_allocate with reallocate
- Pass allocator state
- Fix int32_t -> rcl_ret_t return value
* Don't include unistd.h
* Use size_t for array indices
* Just pass the allocator in the init function