rcl_action  master
C API providing common functionality for ROS actions.
wait.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_ACTION__WAIT_H_
16 #define RCL_ACTION__WAIT_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
26 #include "rcl/wait.h"
27 
29 
71  rcl_wait_set_t * wait_set,
72  const rcl_action_client_t * action_client,
73  size_t * client_index,
74  size_t * subscription_index);
75 
77 
110 rcl_ret_t
112  rcl_wait_set_t * wait_set,
113  const rcl_action_server_t * action_server,
114  size_t * service_index);
115 
117 
147 rcl_ret_t
149  const rcl_action_client_t * action_client,
150  size_t * num_subscriptions,
151  size_t * num_guard_conditions,
152  size_t * num_timers,
153  size_t * num_clients,
154  size_t * num_services);
155 
157 
187 rcl_ret_t
189  const rcl_action_server_t * action_server,
190  size_t * num_subscriptions,
191  size_t * num_guard_conditions,
192  size_t * num_timers,
193  size_t * num_clients,
194  size_t * num_services);
195 
197 
230 rcl_ret_t
232  const rcl_wait_set_t * wait_set,
233  const rcl_action_client_t * action_client,
234  bool * is_feedback_ready,
235  bool * is_status_ready,
236  bool * is_goal_response_ready,
237  bool * is_cancel_response_ready,
238  bool * is_result_response_ready);
239 
241 
270 rcl_ret_t
272  const rcl_wait_set_t * wait_set,
273  const rcl_action_server_t * action_server,
274  bool * is_goal_request_ready,
275  bool * is_cancel_request_ready,
276  bool * is_result_request_ready,
277  bool * is_goal_expired);
278 
279 #ifdef __cplusplus
280 }
281 #endif
282 
283 #endif // RCL_ACTION__WAIT_H_
Structure which encapsulates a ROS action client.
Definition: action_client.h:33
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_client_wait_set_get_num_entities(const rcl_action_client_t *action_client, size_t *num_subscriptions, size_t *num_guard_conditions, size_t *num_timers, size_t *num_clients, size_t *num_services)
Get the number of wait set entities associated with a rcl_action_client_t.
#define RCL_ACTION_PUBLIC
Definition: visibility_control.h:50
rmw_ret_t rcl_ret_t
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_server_wait_set_get_entities_ready(const rcl_wait_set_t *wait_set, const rcl_action_server_t *action_server, bool *is_goal_request_ready, bool *is_cancel_request_ready, bool *is_result_request_ready, bool *is_goal_expired)
Get the wait set entities that are ready for a rcl_action_server_t.
Structure which encapsulates a ROS Action Server.
Definition: action_server.h:36
#define RCL_WARN_UNUSED
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_wait_set_add_action_server(rcl_wait_set_t *wait_set, const rcl_action_server_t *action_server, size_t *service_index)
Add a rcl_action_server_t to a wait set.
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_server_wait_set_get_num_entities(const rcl_action_server_t *action_server, size_t *num_subscriptions, size_t *num_guard_conditions, size_t *num_timers, size_t *num_clients, size_t *num_services)
Get the number of wait set entities associated with a rcl_action_server_t.
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_client_wait_set_get_entities_ready(const rcl_wait_set_t *wait_set, const rcl_action_client_t *action_client, bool *is_feedback_ready, bool *is_status_ready, bool *is_goal_response_ready, bool *is_cancel_response_ready, bool *is_result_response_ready)
Get the wait set entities that are ready for a rcl_action_client_t.
RCL_ACTION_PUBLIC rcl_ret_t rcl_action_wait_set_add_action_client(rcl_wait_set_t *wait_set, const rcl_action_client_t *action_client, size_t *client_index, size_t *subscription_index)
Add a rcl_action_client_t to a wait set.