C++ API
rcl: Common functionality for other ROS Client Libraries
rcl
consists of functions and structs (pure C) organized into ROS concepts:
Nodes
rcl/node.h
Publisher
rcl/publisher.h
Subscription
rcl/subscription.h
Service Client
rcl/client.h
Service Server
rcl/service.h
Timer
rcl/timer.h
There are some functions for working with “Topics” and “Services”:
A function to validate a topic or service name (not necessarily fully qualified):
rcl/validate_topic_name.h
A function to expand a topic or service name to a fully qualified name:
rcl/expand_topic_name.h
It also has some machinery that is necessary to wait on and act on these concepts:
Initialization and shutdown management
rcl/init.h
Wait sets for waiting on messages/service requests and responses/timers to be ready
rcl/wait.h
Guard conditions for waking up wait sets asynchronously
rcl/guard_condition.h
Functions for introspecting and getting notified of changes of the ROS graph
rcl/graph.h
Further still there are some useful abstractions and utilities:
Allocator concept, which can be used to control allocation in
rcl_*
functionsrcl/allocator.h
Concept of ROS Time and access to steady and system wall time
rcl/time.h
Error handling functionality (C style)
rcl/error_handling.h
Macros
rcl/macros.h
Return code types
rcl/types.h
Macros for controlling symbol visibility on the library
rcl/visibility_control.h
Page Hierarchy
Class Hierarchy
-
- Struct rcl_arguments_s
- Struct rcl_client_options_s
- Struct rcl_client_s
- Struct rcl_clock_s
- Struct rcl_context_s
- Struct rcl_duration_s
- Struct rcl_event_s
- Struct rcl_guard_condition_options_s
- Struct rcl_guard_condition_s
- Struct rcl_init_options_s
- Struct rcl_jump_callback_info_s
- Struct rcl_jump_threshold_s
- Struct rcl_lexer_lookahead2_s
- Struct rcl_log_levels_s
- Struct rcl_logger_setting_s
- Struct rcl_node_options_s
- Struct rcl_node_s
- Struct rcl_publisher_options_s
- Struct rcl_publisher_s
- Struct rcl_remap_s
- Struct rcl_service_options_s
- Struct rcl_service_s
- Struct rcl_subscription_content_filter_options_s
- Struct rcl_subscription_options_s
- Struct rcl_subscription_s
- Struct rcl_time_jump_s
- Struct rcl_time_point_s
- Struct rcl_timer_call_info_s
- Struct rcl_timer_on_reset_callback_data_s
- Struct rcl_timer_s
- Struct rcl_type_info_t
- Struct rcl_wait_set_s
- Enum rcl_clock_change_e
- Enum rcl_clock_type_e
- Enum rcl_lexeme_e
- Enum rcl_publisher_event_type_e
- Enum rcl_service_introspection_state_e
- Enum rcl_subscription_event_type_e
File Hierarchy
-
- Directory include
- Directory rcl
- File allocator.h
- File arguments.h
- File client.h
- File context.h
- File discovery_options.h
- File domain_id.h
- File dynamic_message_type_support.h
- File error_handling.h
- File event.h
- File event_callback.h
- File expand_topic_name.h
- File graph.h
- File guard_condition.h
- File init.h
- File init_options.h
- File lexer.h
- File lexer_lookahead.h
- File localhost.h
- File log_level.h
- File logging.h
- File logging_rosout.h
- File macros.h
- File network_flow_endpoints.h
- File node.h
- File node_options.h
- File node_type_cache.h
- File publisher.h
- File rcl.h
- File remap.h
- File rmw_implementation_identifier_check.h
- File security.h
- File service.h
- File service_introspection.h
- File subscription.h
- File time.h
- File timer.h
- File type_description_conversions.h
- File type_hash.h
- File types.h
- File validate_enclave_name.h
- File validate_topic_name.h
- File visibility_control.h
- File wait.h
- Directory rcl
- Directory include