rcl  master
C API providing common ROS client library functionality.
remap.h
Go to the documentation of this file.
1 // Copyright 2018 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RCL__REMAP_H_
16 #define RCL__REMAP_H_
17 
18 #include "rcl/allocator.h"
19 #include "rcl/arguments.h"
20 #include "rcl/macros.h"
21 #include "rcl/types.h"
22 #include "rcl/visibility_control.h"
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 // TODO(sloretz) add documentation about rostopic:// when it is supported
31 
96  const rcl_arguments_t * local_arguments,
97  const rcl_arguments_t * global_arguments,
98  const char * topic_name,
99  const char * node_name,
100  const char * node_namespace,
101  rcl_allocator_t allocator,
102  char ** output_name);
103 
104 // TODO(sloretz) add documentation about rosservice:// when it is supported
106 
139 rcl_ret_t
141  const rcl_arguments_t * local_arguments,
142  const rcl_arguments_t * global_arguments,
143  const char * service_name,
144  const char * node_name,
145  const char * node_namespace,
146  rcl_allocator_t allocator,
147  char ** output_name);
148 
150 
186 rcl_ret_t
188  const rcl_arguments_t * local_arguments,
189  const rcl_arguments_t * global_arguments,
190  const char * node_name,
191  rcl_allocator_t allocator,
192  char ** output_name);
193 
195 
227 rcl_ret_t
229  const rcl_arguments_t * local_arguments,
230  const rcl_arguments_t * global_arguments,
231  const char * node_name,
232  rcl_allocator_t allocator,
233  char ** output_namespace);
234 
235 #ifdef __cplusplus
236 }
237 #endif
238 
239 #endif // RCL__REMAP_H_
rmw_ret_t rcl_ret_t
Definition: types.h:20
Hold output of parsing command line arguments.
Definition: arguments.h:31
rcl_ret_t rcl_remap_node_namespace(const rcl_arguments_t *local_arguments, const rcl_arguments_t *global_arguments, const char *node_name, rcl_allocator_t allocator, char **output_namespace)
Remap a namespace based on given rules.
rcl_ret_t rcl_remap_service_name(const rcl_arguments_t *local_arguments, const rcl_arguments_t *global_arguments, const char *service_name, const char *node_name, const char *node_namespace, rcl_allocator_t allocator, char **output_name)
Remap a service name based on given rules.
#define RCL_WARN_UNUSED
Ignored return values of functions with this macro will emit a warning.
Definition: macros.h:25
#define RCL_PUBLIC
Definition: visibility_control.h:48
rcl_ret_t rcl_remap_topic_name(const rcl_arguments_t *local_arguments, const rcl_arguments_t *global_arguments, const char *topic_name, const char *node_name, const char *node_namespace, rcl_allocator_t allocator, char **output_name)
Remap a topic name based on given rules.
rcl_ret_t rcl_remap_node_name(const rcl_arguments_t *local_arguments, const rcl_arguments_t *global_arguments, const char *node_name, rcl_allocator_t allocator, char **output_name)
Remap a node name based on given rules.