Skip to main content

rustenium_cdp_definitions/browser_protocol/device_access/
command_builders.rs

1use super::commands::*;
2#[derive(Debug, Clone, Default)]
3pub struct EnableBuilder;
4impl EnableBuilder {
5    pub fn new() -> Self {
6        Self
7    }
8    pub fn build(self) -> Enable {
9        Enable {
10            method: EnableMethod::Enable,
11            params: EnableParams {},
12        }
13    }
14}
15impl Enable {
16    pub fn builder() -> EnableBuilder {
17        EnableBuilder
18    }
19}
20#[derive(Debug, Clone, Default)]
21pub struct DisableBuilder;
22impl DisableBuilder {
23    pub fn new() -> Self {
24        Self
25    }
26    pub fn build(self) -> Disable {
27        Disable {
28            method: DisableMethod::Disable,
29            params: DisableParams {},
30        }
31    }
32}
33impl Disable {
34    pub fn builder() -> DisableBuilder {
35        DisableBuilder
36    }
37}
38impl SelectPrompt {
39    pub fn builder() -> SelectPromptBuilder {
40        <SelectPromptBuilder as Default>::default()
41    }
42}
43#[derive(Default, Clone)]
44pub struct SelectPromptBuilder {
45    id: Option<super::types::RequestId>,
46    device_id: Option<super::types::DeviceId>,
47}
48impl SelectPromptBuilder {
49    pub fn id(mut self, id: impl Into<super::types::RequestId>) -> Self {
50        self.id = Some(id.into());
51        self
52    }
53    pub fn device_id(mut self, device_id: impl Into<super::types::DeviceId>) -> Self {
54        self.device_id = Some(device_id.into());
55        self
56    }
57    pub fn build(self) -> Result<SelectPrompt, String> {
58        Ok(SelectPrompt {
59            method: SelectPromptMethod::SelectPrompt,
60            params: SelectPromptParams {
61                id: self
62                    .id
63                    .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(id)))?,
64                device_id: self.device_id.ok_or_else(|| {
65                    format!("Field `{}` is mandatory.", std::stringify!(device_id))
66                })?,
67            },
68        })
69    }
70}
71impl CancelPrompt {
72    pub fn builder() -> CancelPromptBuilder {
73        <CancelPromptBuilder as Default>::default()
74    }
75}
76#[derive(Default, Clone)]
77pub struct CancelPromptBuilder {
78    id: Option<super::types::RequestId>,
79}
80impl CancelPromptBuilder {
81    pub fn id(mut self, id: impl Into<super::types::RequestId>) -> Self {
82        self.id = Some(id.into());
83        self
84    }
85    pub fn build(self) -> Result<CancelPrompt, String> {
86        Ok(CancelPrompt {
87            method: CancelPromptMethod::CancelPrompt,
88            params: CancelPromptParams {
89                id: self
90                    .id
91                    .ok_or_else(|| format!("Field `{}` is mandatory.", std::stringify!(id)))?,
92            },
93        })
94    }
95}