15 #include "rclcpp/parameter_descriptor_wrapper.hpp"
20 ParameterDescription::ParameterDescription()
23 parameter_descriptor.type = rcl_interfaces::msg::ParameterType::PARAMETER_NOT_SET;
26 rcl_interfaces::msg::ParameterDescriptor ParameterDescription::build()
const
29 return parameter_descriptor;
35 ParameterDescription & ParameterDescription::set_name(
const std::string & name)
37 parameter_descriptor.name = name;
41 ParameterDescription & ParameterDescription::set_type(std::uint8_t type)
43 parameter_descriptor.type = type;
47 ParameterDescription & ParameterDescription::set_description_text(
const std::string & description)
49 parameter_descriptor.description = description;
53 ParameterDescription & ParameterDescription::set_additional_constraints(
54 const std::string & constraints)
56 parameter_descriptor.additional_constraints = constraints;
60 ParameterDescription & ParameterDescription::set_read_only(
bool read_only)
62 parameter_descriptor.read_only = read_only;
66 ParameterDescription & ParameterDescription::set_dynamic_typing(
bool dynamic_typing)
68 parameter_descriptor.dynamic_typing = dynamic_typing;
73 ParameterDescription & ParameterDescription::set_floating_point_description_range(
74 float min,
float max,
float step)
76 if (parameter_descriptor.type == rcl_interfaces::msg::ParameterType::PARAMETER_DOUBLE) {
77 parameter_descriptor.floating_point_range.resize(1);
78 parameter_descriptor.floating_point_range.at(0).from_value = min;
79 parameter_descriptor.floating_point_range.at(0).to_value = max;
80 parameter_descriptor.floating_point_range.at(0).step = step;
85 ParameterDescription & ParameterDescription::set_integer_description_range(
86 int min,
int max,
int step)
88 if (parameter_descriptor.type == rcl_interfaces::msg::ParameterType::PARAMETER_INTEGER) {
89 parameter_descriptor.integer_range.resize(1);
90 parameter_descriptor.integer_range.at(0).from_value = min;
91 parameter_descriptor.integer_range.at(0).to_value = max;
92 parameter_descriptor.integer_range.at(0).step = step;
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.