nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
executor.h
Go to the documentation of this file.
1
10#ifndef NROS_EXECUTOR_H
11#define NROS_EXECUTOR_H
12
13/* Type and function definitions live in <nros/nros_generated.h>.
14 * This per-module header is kept as a thin shim so existing code that
15 * does `#include <nros/executor.h>` continues to compile. */
16#include "nros/types.h"
17#include "nros/nros_generated.h"
18
19/*
20 * Issue 0338 — the entity-registration family is spelled `nros_executor_add_*`,
21 * matching rclc (`rclc_executor_add_subscription` / `_add_timer` /
22 * `_add_client` / ...). It used to be `nros_executor_register_*` for every kind
23 * EXCEPT `add_client`, which kept the rclc spelling — so the family was not even
24 * internally consistent and a C user could not guess the verb.
25 *
26 * These macros keep the old spelling compiling for one release. They are macros
27 * rather than exported symbols on purpose: no new ABI surface, and a
28 * recompile is all a consumer needs. Code compiled against the old SYMBOLS must
29 * be rebuilt.
30 */
31#ifndef NROS_NO_DEPRECATED_EXECUTOR_REGISTER_ALIASES
32#define nros_executor_register_subscription nros_executor_add_subscription
33#define nros_executor_register_subscription_raw_with_info \
34 nros_executor_add_subscription_raw_with_info
35#define nros_executor_register_subscription_in_group nros_executor_add_subscription_in_group
36#define nros_executor_register_timer nros_executor_add_timer
37#define nros_executor_register_timer_in_group nros_executor_add_timer_in_group
38#define nros_executor_register_service nros_executor_add_service
39#define nros_executor_register_guard_condition nros_executor_add_guard_condition
40#define nros_executor_register_action_server nros_executor_add_action_server
41#define nros_executor_register_action_client nros_executor_add_action_client
42#define nros_executor_register_time_triggered_dispatcher nros_executor_add_time_triggered_dispatcher
43#endif /* NROS_NO_DEPRECATED_EXECUTOR_REGISTER_ALIASES */
44
45#endif /* NROS_EXECUTOR_H */
Shared types and constants for the nros C API.