9#ifndef NROS_PARAMETER_H
10#define NROS_PARAMETER_H
244 const char*
name,
const uint8_t*
data,
size_t len);
252 const char*
name,
const int64_t*
data,
size_t len);
260 const char*
name,
const char*
const*
data,
294 const char*
name,
const uint8_t**
data,
size_t*
len);
302 const char*
name,
const int64_t**
data,
size_t*
len);
306 const char*
name,
const double**
data,
size_t*
len);
310 const char*
name,
const char*
const**
data,
size_t*
len);
316 const uint8_t*
data,
size_t len);
324 const char*
name,
const int64_t*
data,
size_t len);
328 const double*
data,
size_t len);
332 const char*
const*
data,
size_t len);
414 const char*
name,
bool* out_value);
417 const char*
name, int64_t* out_value);
420 const char*
name,
double* out_value);
423 const char*
name,
char* out_value,
479#ifndef NROS_NO_DEPRECATED_PARAM_ALIASES
504 "nros_parameter_server_get_zero_initialized()")
516 "nros_param_server_set_callback() is deprecated; use nros_parameter_server_set_callback()")
530 "nros_param_declare_integer() is deprecated; use nros_parameter_declare_integer()")
537 "nros_param_declare_double() is deprecated; use nros_parameter_declare_double()")
544 "nros_param_declare_string() is deprecated; use nros_parameter_declare_string()")
599 "nros_param_declare_byte_array() is deprecated; use nros_parameter_declare_byte_array()")
607 "nros_param_declare_bool_array() is deprecated; use nros_parameter_declare_bool_array()")
615 "nros_param_declare_integer_array() is deprecated; use nros_parameter_declare_integer_array()")
617 const
char*
name, const int64_t*
data,
623 "nros_param_declare_double_array() is deprecated; use nros_parameter_declare_double_array()")
625 const
char*
name, const
double*
data,
631 "nros_param_declare_string_array() is deprecated; use nros_parameter_declare_string_array()")
633 const
char*
name, const
char* const*
data,
639 "nros_param_get_byte_array() is deprecated; use nros_parameter_get_byte_array()")
641 const
char*
name, const uint8_t**
data,
647 "nros_param_get_bool_array() is deprecated; use nros_parameter_get_bool_array()")
649 const
char*
name, const
bool**
data,
655 "nros_param_get_integer_array() is deprecated; use nros_parameter_get_integer_array()")
657 const
char*
name, const int64_t**
data,
663 "nros_param_get_double_array() is deprecated; use nros_parameter_get_double_array()")
665 const
char*
name, const
double**
data,
671 "nros_param_get_string_array() is deprecated; use nros_parameter_get_string_array()")
673 const
char*
name, const
char* const**
data,
679 "nros_param_set_byte_array() is deprecated; use nros_parameter_set_byte_array()")
681 const
char*
name, const uint8_t*
data,
687 "nros_param_set_bool_array() is deprecated; use nros_parameter_set_bool_array()")
694 "nros_param_set_integer_array() is deprecated; use nros_parameter_set_integer_array()")
696 const
char*
name, const int64_t*
data,
702 "nros_param_set_double_array() is deprecated; use nros_parameter_set_double_array()")
704 const
char*
name, const
double*
data,
710 "nros_param_set_string_array() is deprecated; use nros_parameter_set_string_array()")
712 const
char*
name, const
char* const*
data,
729 "nros_param_server_get_count() is deprecated; use nros_parameter_server_get_count()")
bool(* nros_parameter_callback_t)(const char *name, const struct nros_parameter_t *param, void *context)
Definition nros_generated.h:943
int nros_ret_t
Definition nros_generated.h:849
nros_parameter_server_state_t
Definition nros_generated.h:269
nros_parameter_type_t
Definition nros_generated.h:287
enum nros_parameter_type_t nros_parameter_get_type(const struct nros_parameter_server_t *server, const char *name)
Get the type of a parameter.
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_parameter_set_string(struct nros_parameter_server_t *server, const char *name, const char *value)
Set a string parameter value.
nros_ret_t nros_parameter_get_bool_array(const struct nros_parameter_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_parameter_set_double(struct nros_parameter_server_t *server, const char *name, double value)
Set a double parameter value.
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.
nros_ret_t nros_parameter_declare_integer(struct nros_parameter_server_t *server, const char *name, int64_t default_value)
Declare an integer parameter.
nros_ret_t nros_parameter_server_init(struct nros_parameter_server_t *server, struct nros_parameter_t *storage, size_t capacity)
Initialise a parameter server with user-provided storage.
struct nros_parameter_t size_t capacity
Definition parameter.h:511
nros_ret_t nros_parameter_server_set_callback(struct nros_parameter_server_t *server, nros_parameter_callback_t callback, void *context)
Set a parameter change callback.
size_t nros_parameter_server_get_count(const struct nros_parameter_server_t *server)
Get the number of declared parameters.
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_parameter_set_bool(struct nros_parameter_server_t *server, const char *name, bool value)
Set a boolean parameter value.
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_parameter_set_bool_array(struct nros_parameter_server_t *server, const char *name, const bool *data, size_t len)
Set a boolean array parameter (replaces stored pointer + length).
struct nros_parameter_t * storage
Definition parameter.h:511
nros_ret_t nros_parameter_server_fini(struct nros_parameter_server_t *server)
Finalise a parameter server.
nros_ret_t nros_parameter_declare_bool(struct nros_parameter_server_t *server, const char *name, bool default_value)
Declare a boolean parameter.
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_parameter_declare_integer_array(struct nros_parameter_server_t *server, const char *name, const int64_t *data, size_t len)
Declare an integer array parameter (int64_t[]).
enum nros_parameter_server_state_t nros_param_server_state_t
Definition parameter.h:498
nros_ret_t nros_parameter_declare_string(struct nros_parameter_server_t *server, const char *name, const char *default_value)
Declare a string parameter.
nros_ret_t nros_parameter_set_string_array(struct nros_parameter_server_t *server, const char *name, const char *const *data, size_t len)
Set a string array parameter (replaces stored pointer + length).
const char const uint8_t size_t len
Definition parameter.h:602
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.
const char const uint8_t * data
Definition parameter.h:601
nros_ret_t nros_parameter_get_byte_array(const struct nros_parameter_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_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_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_parameter_get_bool(const struct nros_parameter_server_t *server, const char *name, bool *value)
Get a boolean parameter value.
nros_ret_t nros_parameter_declare_bool_array(struct nros_parameter_server_t *server, const char *name, const bool *data, size_t len)
Declare a boolean array parameter (bool[]).
nros_ret_t nros_parameter_declare_double(struct nros_parameter_server_t *server, const char *name, double default_value)
Declare a double parameter.
const char char size_t max_len
Definition parameter.h:570
bool nros_parameter_has(const struct nros_parameter_server_t *server, const char *name)
Check if a parameter exists.
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.
nros_ret_t nros_parameter_declare_string_array(struct nros_parameter_server_t *server, const char *name, const char *const *data, size_t len)
Declare a string array parameter (array of const char*).
nros_parameter_callback_t callback
Definition parameter.h:518
nros_ret_t nros_parameter_set_integer(struct nros_parameter_server_t *server, const char *name, int64_t value)
Set an integer parameter value.
nros_ret_t nros_parameter_set_integer_array(struct nros_parameter_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_parameter_get_string_array(const struct nros_parameter_server_t *server, const char *name, const char *const **data, size_t *len)
Get a string array parameter (returns stored pointer + length).
const char bool default_value
Definition parameter.h:525
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_parameter_get_integer_array(const struct nros_parameter_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_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_parameter_declare_double_array(struct nros_parameter_server_t *server, const char *name, const double *data, size_t len)
Declare a double array parameter (double[]).
nros_ret_t nros_parameter_get_double_array(const struct nros_parameter_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_parameter_set_byte_array(struct nros_parameter_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_parameter_get_integer(const struct nros_parameter_server_t *server, const char *name, int64_t *value)
Get an integer parameter value.
nros_ret_t nros_parameter_get_string(const struct nros_parameter_server_t *server, const char *name, char *value, size_t max_len)
Get a string parameter value.
nros_parameter_callback_t void * context
Definition parameter.h:519
nros_parameter_callback_t nros_param_callback_t
Definition parameter.h:499
nros_ret_t nros_parameter_set_double_array(struct nros_parameter_server_t *server, const char *name, const double *data, size_t len)
Set a double array parameter (replaces stored pointer + length).
const char bool * value
Definition parameter.h:552
struct nros_parameter_server_t nros_parameter_server_get_zero_initialized(void)
Get a zero-initialized 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_parameter_get_double(const struct nros_parameter_server_t *server, const char *name, double *value)
Get a double parameter value.
nros_ret_t nros_parameter_declare_byte_array(struct nros_parameter_server_t *server, const char *name, const uint8_t *data, size_t len)
Declare a byte array parameter (uint8_t[]).
const char * name
Definition parameter.h:525
Definition nros_generated.h:1036
Definition nros_generated.h:885
Definition nros_generated.h:950
Definition nros_generated.h:925
Shared types and constants for the nros C API.
#define NROS_DEPRECATED_MSG(msg)
Definition visibility.h:58
#define NROS_PUBLIC
Definition visibility.h:33