17 #ifndef RCL__VALIDATE_TOPIC_NAME_H_
18 #define RCL__VALIDATE_TOPIC_NAME_H_
25 #include "rcl/macros.h"
27 #include "rcl/visibility_control.h"
30 #define RCL_TOPIC_NAME_VALID 0
33 #define RCL_TOPIC_NAME_INVALID_IS_EMPTY_STRING 1
36 #define RCL_TOPIC_NAME_INVALID_ENDS_WITH_FORWARD_SLASH 2
39 #define RCL_TOPIC_NAME_INVALID_CONTAINS_UNALLOWED_CHARACTERS 3
42 #define RCL_TOPIC_NAME_INVALID_NAME_TOKEN_STARTS_WITH_NUMBER 4
45 #define RCL_TOPIC_NAME_INVALID_UNMATCHED_CURLY_BRACE 5
48 #define RCL_TOPIC_NAME_INVALID_MISPLACED_TILDE 6
51 #define RCL_TOPIC_NAME_INVALID_TILDE_NOT_FOLLOWED_BY_FORWARD_SLASH 7
54 #define RCL_TOPIC_NAME_INVALID_SUBSTITUTION_CONTAINS_UNALLOWED_CHARACTERS 8
57 #define RCL_TOPIC_NAME_INVALID_SUBSTITUTION_STARTS_WITH_NUMBER 9
114 const char * topic_name,
115 int * validation_result,
116 size_t * invalid_index);
135 const char * topic_name,
136 size_t topic_name_length,
137 int * validation_result,
138 size_t * invalid_index);
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_validate_topic_name(const char *topic_name, int *validation_result, size_t *invalid_index)
Validate a given topic name.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_validate_topic_name_with_size(const char *topic_name, size_t topic_name_length, int *validation_result, size_t *invalid_index)
Validate a given topic name.
RCL_PUBLIC RCL_WARN_UNUSED const char * rcl_topic_name_validation_result_string(int validation_result)
Return a validation result description, or NULL if unknown or RCL_TOPIC_NAME_VALID.