Skip to content

Commit f2cc667

Browse files
Add a builder parameter to start parameter services
Signed-off-by: Luca Della Vedova <[email protected]>
1 parent d73d07c commit f2cc667

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

rclrs/src/node/builder.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ use crate::{
1818
/// - `use_global_arguments: true`
1919
/// - `arguments: []`
2020
/// - `enable_rosout: true`
21+
/// - `start_parameter_services: true`
2122
/// - `clock_type: ClockType::RosTime`
2223
/// - `clock_qos: QOS_PROFILE_CLOCK`
2324
///
@@ -49,6 +50,7 @@ pub struct NodeBuilder {
4950
use_global_arguments: bool,
5051
arguments: Vec<String>,
5152
enable_rosout: bool,
53+
start_parameter_services: bool,
5254
clock_type: ClockType,
5355
clock_qos: QoSProfile,
5456
}
@@ -97,6 +99,7 @@ impl NodeBuilder {
9799
use_global_arguments: true,
98100
arguments: vec![],
99101
enable_rosout: true,
102+
start_parameter_services: true,
100103
clock_type: ClockType::RosTime,
101104
clock_qos: QOS_PROFILE_CLOCK,
102105
}
@@ -231,6 +234,15 @@ impl NodeBuilder {
231234
self
232235
}
233236

237+
/// Enables or disables parameter services.
238+
///
239+
/// Parameter services can be used to allow external nodes to list, get and set
240+
/// parameters for this node.
241+
pub fn start_parameter_services(mut self, start: bool) -> Self {
242+
self.start_parameter_services = start;
243+
self
244+
}
245+
234246
/// Sets the node's clock type.
235247
pub fn clock_type(mut self, clock_type: ClockType) -> Self {
236248
self.clock_type = clock_type;
@@ -308,7 +320,9 @@ impl NodeBuilder {
308320
parameter,
309321
});
310322
node.time_source.attach_node(&node);
311-
node.parameter.create_services(&node)?;
323+
if self.start_parameter_services {
324+
node.parameter.create_services(&node)?;
325+
}
312326
Ok(node)
313327
}
314328

0 commit comments

Comments
 (0)