ros2_interfaces_humble/composition_interfaces/srv/
load_node.rs

1use 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}