16 #ifndef RCLCPP__TYPESUPPORT_HELPERS_HPP_
17 #define RCLCPP__TYPESUPPORT_HELPERS_HPP_
23 #include "rcpputils/shared_library.hpp"
24 #include "rosidl_runtime_cpp/message_type_support_decl.hpp"
25 #include "rosidl_runtime_cpp/service_type_support_decl.hpp"
27 #include "rclcpp/visibility_control.hpp"
42 std::tuple<std::string, std::string, std::string>
54 const std::string & package_name,
const std::string & typesupport_identifier);
62 std::shared_ptr<rcpputils::SharedLibrary>
73 [[deprecated(
"Use `get_message_typesupport_handle` instead")]]
75 const rosidl_message_type_support_t *
77 const std::string & type,
78 const std::string & typesupport_identifier,
79 rcpputils::SharedLibrary & library);
90 const rosidl_message_type_support_t *
92 const std::string & type,
93 const std::string & typesupport_identifier,
94 rcpputils::SharedLibrary & library);
105 const rosidl_service_type_support_t *
107 const std::string & type,
108 const std::string & typesupport_identifier,
109 rcpputils::SharedLibrary & library);
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
RCLCPP_PUBLIC std::string get_typesupport_library_path(const std::string &package_name, const std::string &typesupport_identifier)
Look for the library in the ament prefix paths and return the path to the type support library.
RCLCPP_PUBLIC std::shared_ptr< rcpputils::SharedLibrary > get_typesupport_library(const std::string &type, const std::string &typesupport_identifier)
Load the type support library for the given type.
RCLCPP_PUBLIC const rosidl_message_type_support_t * get_message_typesupport_handle(const std::string &type, const std::string &typesupport_identifier, rcpputils::SharedLibrary &library)
Extracts the message type support handle from the library.
RCLCPP_PUBLIC const rosidl_message_type_support_t * get_typesupport_handle(const std::string &type, const std::string &typesupport_identifier, rcpputils::SharedLibrary &library)
Extract the type support handle from the library.
RCLCPP_PUBLIC const rosidl_service_type_support_t * get_service_typesupport_handle(const std::string &type, const std::string &typesupport_identifier, rcpputils::SharedLibrary &library)
Extracts the service type support handle from the library.
RCLCPP_PUBLIC std::tuple< std::string, std::string, std::string > extract_type_identifier(const std::string &full_type)
Extract the package name, middle module, and type name from a full type string.