Function rclcpp::expand_topic_or_service_name
Defined in File expand_topic_or_service_name.hpp
Function Documentation
-
std::string rclcpp::expand_topic_or_service_name(const std::string &name, const std::string &node_name, const std::string &namespace_, bool is_service = false)
Expand a topic or service name and throw if it is not valid.
This function can be used to “just” validate a topic or service name too, since expanding the topic name is required to fully validate a name.
If the name is invalid, then InvalidTopicNameError is thrown or InvalidServiceNameError if is_service is true.
This function can take any form of a topic or service name, i.e. it does not have to be a fully qualified name. The node name and namespace are used to expand it if necessary while validating it.
Expansion is done with rcl_expand_topic_name. The validation is doen with rcl_validate_topic_name and rmw_validate_full_topic_name, so details about failures can be found in the documentation for those functions.
- Parameters:
name – the topic or service name to be validated
node_name – the name of the node associated with the name
namespace_ – the namespace of the node associated with the name
is_service – if true InvalidServiceNameError is thrown instead
- Throws:
InvalidTopicNameError – if name is invalid and is_service is false
InvalidServiceNameError – if name is invalid and is_service is true
std::bad_alloc – if memory cannot be allocated
RCLError – if an unexpect error occurs
std::runtime_error – if the topic name is unexpectedly valid or, if the rcl name is invalid or if the rcl namespace is invalid
- Returns:
expanded (and validated) topic name