* Using ament_target_dependencies where possible
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
* Modified rcl_add_custom_* to use AMENT_DEPENDENCIES where possible
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
* Added again osrf_testing_tools_cpp::memory_tools library where needed.
Signed-off-by: ivanpauno <ivanpauno@ekumenlabs.com>
* Modified with PR comment, and replaced forgotten osrf_testing_tools_cpp including
Signed-off-by: ivanpauno <ivanpauno@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>
* refactor init to not be global
Signed-off-by: William Woodall <william@osrfoundation.org>
* style changes
Signed-off-by: William Woodall <william@osrfoundation.org>
* refactor to hide use of C11 atomics in implementation
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix new action tests
Signed-off-by: William Woodall <william@osrfoundation.org>
* use alternative atomic init for Windows support
* updates after rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* cleanup rmw_init_options before copying
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix two bugs in new init code
* relax validity checks in a few places to facilitate post shutdown cleanup
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixing tests for new API behavior
Signed-off-by: William Woodall <william@osrfoundation.org>
* to allocator -> to allocate
* acutally call rmw_shutdown() and address review comments
Signed-off-by: William Woodall <william@osrfoundation.org>
* use new error handling API from rcutils
Signed-off-by: William Woodall <william@osrfoundation.org>
* use semicolons after macros
Signed-off-by: William Woodall <william@osrfoundation.org>
* use new error handling API from rcutils
Signed-off-by: William Woodall <william@osrfoundation.org>
* minimize vertical whitespace
Signed-off-by: William Woodall <william@osrfoundation.org>
* use semicolons after macros
Signed-off-by: William Woodall <william@osrfoundation.org>
* Add semicolons to all RCLCPP and RCUTILS macros.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Add semicolons in Windows stdatomic_helper.h
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
* Invalid memory access for NULL dereference
rcl_lifecycle_get_state may return NULL
transition->goal is checked for NULL but no return
while it's true and this may result the follow-up
NULL dereference
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* Avoid crash while NULL returned from rcl_service_get_options()
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* tweak error string and null check for current_state
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* use ROS_PACKAGE_NAME in debug msgs
* rcl_lifecycle too
* Swap unnamed macros to named
* Remove semicolon
* Add debug logging
* Timer debug logging
* Wait debug
* A bit less wait debug...
* Clearer time output
* Remove the wait sublogger
* Use conditional logging instead of the else{}
* Add 'X finalized' msg
* Add send_response logging
* Remove extra semicolons
* Add publish/take messages
* [style nitpick] formatted variables on the next line
* * memory leak issues
address those memory leak issues with the API
rcutils_set_formatted_error which is defined
in rcutils
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* * Address those memory leak issues with new MACRO
add macro RCL_SET_ERROR_MSG_WITH_FORMAT_STRING which
is equals RCUTILS_SET_ERROR_MSG_WITH_FORMAT_STRING and
fix the memory leak issues with it
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* address uncrustify grumble
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
* use rcl_allocator for rcl_lifecycle
* correct return value interpretation
* fix unsigned comparison
* use namespace for lifecycle in-built topics
* linters
* Explicitly set C99 and C++14 via the CMake variables
* Enable passing CMAKE_C_STANDARD and CMAKE_CXX_STANDARD externally
* Use add_compile_options
* Be more specific about the compiler, independent from the OS
* Check compiler, not OS. Use add_compile_options instead of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS
* add_compile_options() takes a list, not a string
* switch to c11 because of redefinition warnings
avoid typedef redifinition warning on macos
remove todo, compiler come from redefinition of typedef
* update to use new rmw function name
* add rcl_validate_topic_name()
* add rcl_expand_topic_name()
* gcc couldn't handle the init lists with tuples
* uncrustify and cpplint
* fix signed compare warnings
* address comments
* organize the substitution string constants together at the top of the file
* comment
* moved allocator to c_utilities
* moved error_handling to c_utilities
* refactor uses of RCL_SET_ERROR_MSG with allocator
* add missing guard condition functions and tests
* add missing timer functions
* refactor rcl_lifecycyle
* missed an instance of RCL_SET_ERROR_MSG
* fix segfaults in error cases for rcl_lifecycle
* remove extra header
* check return code of rcl_lifecycle_init_default_state_machine
* add concept of node namespace to rcl API
also validate node name and node namespace
* name_space -> namespace_
* doc clarification
* make use of rmw_validate_namespace()
* clear expected error messages in test_node.cpp
* avoid unused invalid_index
* include the validation result value when it is unknown
* use _snprintf_s on windows
* uncrustify