9#ifndef NROS_PARAMETER_H
10#define NROS_PARAMETER_H
89 int64_t default_value);
102 double default_value);
115 const char* default_value);
172 char* value,
size_t max_len);
243 const uint8_t* data,
size_t len);
247 const bool* data,
size_t len);
251 const int64_t* data,
size_t len);
255 const double* data,
size_t len);
259 const char*
const* data,
size_t len);
264 const uint8_t** data,
size_t* len);
268 const bool** data,
size_t* len);
272 const int64_t** data,
size_t* len);
276 const double** data,
size_t* len);
280 const char*
const** data,
size_t* len);
285 const uint8_t* data,
size_t len);
289 const bool* data,
size_t len);
293 const int64_t* data,
size_t len);
297 const double* data,
size_t len);
301 const char*
const* data,
size_t len);
370 const char* name,
bool value);
373 const char* name, int64_t value);
376 const char* name,
double value);
379 const char* name,
const char* value);
383 const char* name,
bool* out_value);
386 const char* name, int64_t* out_value);
389 const char* name,
double* out_value);
392 const char* name,
char* out_value,
397 const char* name,
bool value);
400 const char* name, int64_t value);
403 const char* name,
double value);
406 const char* name,
const char* value);
int nros_ret_t
Definition nros_generated.h:785
nros_parameter_type_t
Definition nros_generated.h:223
bool(* nros_param_callback_t)(const char *name, const struct nros_parameter_t *param, void *context)
Definition nros_generated.h:879
nros_ret_t nros_param_get_integer_array(const struct nros_param_server_t *server, const char *name, const int64_t **data, size_t *len)
Get an integer array parameter (returns stored pointer + length).
nros_ret_t nros_param_declare_integer_array(struct nros_param_server_t *server, const char *name, const int64_t *data, size_t len)
Declare an integer array parameter (int64_t[]).
nros_ret_t nros_param_declare_byte_array(struct nros_param_server_t *server, const char *name, const uint8_t *data, size_t len)
Declare a byte array parameter (uint8_t[]).
nros_ret_t nros_executor_register_parameter_services(struct nros_executor_t *executor)
Register the 6 ROS 2 parameter services on the executor's node.
nros_ret_t nros_param_declare_string_array(struct nros_param_server_t *server, const char *name, const char *const *data, size_t len)
Declare a string array parameter (array of const char*).
nros_ret_t nros_param_declare_integer(struct nros_param_server_t *server, const char *name, int64_t default_value)
Declare an integer parameter.
nros_ret_t nros_param_declare_double(struct nros_param_server_t *server, const char *name, double default_value)
Declare a double parameter.
nros_ret_t nros_param_set_integer(struct nros_param_server_t *server, const char *name, int64_t value)
Set an integer parameter value.
nros_ret_t nros_param_declare_double_array(struct nros_param_server_t *server, const char *name, const double *data, size_t len)
Declare a double array parameter (double[]).
nros_ret_t nros_executor_set_param_double(struct nros_executor_t *executor, const char *name, double value)
Set a double parameter on the executor's server.
size_t nros_param_server_get_count(const struct nros_param_server_t *server)
Get the number of declared parameters.
nros_ret_t nros_param_declare_string(struct nros_param_server_t *server, const char *name, const char *default_value)
Declare a string parameter.
nros_ret_t nros_executor_set_param_integer(struct nros_executor_t *executor, const char *name, int64_t value)
Set an integer parameter on the executor's server.
nros_ret_t nros_executor_declare_param_bool(struct nros_executor_t *executor, const char *name, bool value)
Declare a boolean parameter on the executor's server.
bool nros_executor_has_param(struct nros_executor_t *executor, const char *name)
Check if a parameter exists on the executor's server.
nros_ret_t nros_param_get_string_array(const struct nros_param_server_t *server, const char *name, const char *const **data, size_t *len)
Get a string array parameter (returns stored pointer + length).
nros_ret_t nros_param_server_set_callback(struct nros_param_server_t *server, nros_param_callback_t callback, void *context)
Set a parameter change callback.
nros_ret_t nros_param_set_double_array(struct nros_param_server_t *server, const char *name, const double *data, size_t len)
Set a double array parameter (replaces stored pointer + length).
nros_ret_t nros_executor_declare_param_string(struct nros_executor_t *executor, const char *name, const char *value)
Declare a string parameter on the executor's server.
nros_ret_t nros_param_get_bool(const struct nros_param_server_t *server, const char *name, bool *value)
Get a boolean parameter value.
nros_ret_t nros_param_get_bool_array(const struct nros_param_server_t *server, const char *name, const bool **data, size_t *len)
Get a boolean array parameter (returns stored pointer + length).
nros_ret_t nros_param_declare_bool_array(struct nros_param_server_t *server, const char *name, const bool *data, size_t len)
Declare a boolean array parameter (bool[]).
nros_ret_t nros_executor_get_param_integer(struct nros_executor_t *executor, const char *name, int64_t *out_value)
Get an integer parameter from the executor's server.
nros_ret_t nros_executor_get_param_bool(struct nros_executor_t *executor, const char *name, bool *out_value)
Get a boolean parameter from the executor's server.
nros_ret_t nros_param_declare_bool(struct nros_param_server_t *server, const char *name, bool default_value)
Declare a boolean parameter.
nros_ret_t nros_param_set_bool_array(struct nros_param_server_t *server, const char *name, const bool *data, size_t len)
Set a boolean array parameter (replaces stored pointer + length).
enum nros_parameter_type_t nros_param_get_type(const struct nros_param_server_t *server, const char *name)
Get the type of a parameter.
nros_ret_t nros_executor_get_param_double(struct nros_executor_t *executor, const char *name, double *out_value)
Get a double parameter from the executor's server.
nros_ret_t nros_param_set_bool(struct nros_param_server_t *server, const char *name, bool value)
Set a boolean parameter value.
nros_ret_t nros_param_get_integer(const struct nros_param_server_t *server, const char *name, int64_t *value)
Get an integer parameter value.
nros_ret_t nros_param_get_double_array(const struct nros_param_server_t *server, const char *name, const double **data, size_t *len)
Get a double array parameter (returns stored pointer + length).
nros_ret_t nros_param_set_string(struct nros_param_server_t *server, const char *name, const char *value)
Set a string parameter value.
nros_ret_t nros_executor_declare_param_double(struct nros_executor_t *executor, const char *name, double value)
Declare a double parameter on the executor's server.
struct nros_param_server_t nros_param_server_get_zero_initialized(void)
Get a zero-initialized parameter server.
bool nros_param_has(const struct nros_param_server_t *server, const char *name)
Check if a parameter exists.
nros_ret_t nros_param_server_init(struct nros_param_server_t *server, struct nros_parameter_t *storage, size_t capacity)
Initialise a parameter server with user-provided storage.
nros_ret_t nros_param_get_byte_array(const struct nros_param_server_t *server, const char *name, const uint8_t **data, size_t *len)
Get a byte array parameter (returns stored pointer + length).
nros_ret_t nros_executor_set_param_bool(struct nros_executor_t *executor, const char *name, bool value)
Set a boolean parameter on the executor's server.
nros_ret_t nros_executor_set_param_string(struct nros_executor_t *executor, const char *name, const char *value)
Set a string parameter on the executor's server.
nros_ret_t nros_executor_get_param_string(struct nros_executor_t *executor, const char *name, char *out_value, size_t max_len)
Get a string parameter into a caller-provided null-terminated buffer.
nros_ret_t nros_param_set_double(struct nros_param_server_t *server, const char *name, double value)
Set a double parameter value.
nros_ret_t nros_param_set_byte_array(struct nros_param_server_t *server, const char *name, const uint8_t *data, size_t len)
Set a byte array parameter (replaces stored pointer + length).
nros_ret_t nros_param_server_fini(struct nros_param_server_t *server)
Finalise a parameter server.
nros_ret_t nros_executor_declare_param_integer(struct nros_executor_t *executor, const char *name, int64_t value)
Declare an integer parameter on the executor's server.
nros_ret_t nros_param_get_double(const struct nros_param_server_t *server, const char *name, double *value)
Get a double parameter value.
nros_ret_t nros_param_set_integer_array(struct nros_param_server_t *server, const char *name, const int64_t *data, size_t len)
Set an integer array parameter (replaces stored pointer + length).
nros_ret_t nros_param_set_string_array(struct nros_param_server_t *server, const char *name, const char *const *data, size_t len)
Set a string array parameter (replaces stored pointer + length).
nros_ret_t nros_param_get_string(const struct nros_param_server_t *server, const char *name, char *value, size_t max_len)
Get a string parameter value.
Definition nros_generated.h:972
Definition nros_generated.h:886
nros_param_callback_t callback
Definition nros_generated.h:906
size_t capacity
Definition nros_generated.h:894
Definition nros_generated.h:861
Shared types and constants for the nros C API.
#define NROS_PUBLIC
Definition visibility.h:33