ros2_interfaces_humble/composition_interfaces/srv/
load_node.rs1use serde::{Deserialize, Serialize};
2
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct LoadNodeRequest {
6 pub package_name: ::std::string::String,
7 pub plugin_name: ::std::string::String,
8 pub node_name: ::std::string::String,
9 pub node_namespace: ::std::string::String,
10 pub log_level: u8,
11 pub remap_rules: Vec<::std::string::String>,
12 pub parameters: Vec<crate::rcl_interfaces::msg::Parameter>,
13 pub extra_arguments: Vec<crate::rcl_interfaces::msg::Parameter>,
14}
15
16impl Default for LoadNodeRequest {
17 fn default() -> Self {
18 LoadNodeRequest {
19 package_name: ::std::string::String::new(),
20 plugin_name: ::std::string::String::new(),
21 node_name: ::std::string::String::new(),
22 node_namespace: ::std::string::String::new(),
23 log_level: 0,
24 remap_rules: Vec::new(),
25 parameters: Vec::new(),
26 extra_arguments: Vec::new(),
27 }
28 }
29}
30
31impl ros2_client::Message for LoadNodeRequest {}
32
33
34
35#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
36pub struct LoadNodeResponse {
37 pub success: bool,
38 pub error_message: ::std::string::String,
39 pub full_node_name: ::std::string::String,
40 pub unique_id: u64,
41}
42
43impl Default for LoadNodeResponse {
44 fn default() -> Self {
45 LoadNodeResponse {
46 success: false,
47 error_message: ::std::string::String::new(),
48 full_node_name: ::std::string::String::new(),
49 unique_id: 0,
50 }
51 }
52}
53
54impl ros2_client::Message for LoadNodeResponse {}
55
56
57pub struct LoadNode;
58impl ros2_client::Service for LoadNode {
59 type Request = LoadNodeRequest;
60 type Response = LoadNodeResponse;
61
62 fn request_type_name(&self) -> &str { "LoadNodeRequest" }
63 fn response_type_name(&self) -> &str { "LoadNodeResponse" }
64}