rustenium_cdp_definitions/browser_protocol/fed_cm/
command_builders.rs1use super::commands::*;
2impl Enable {
3 pub fn builder() -> EnableBuilder {
4 <EnableBuilder as Default>::default()
5 }
6}
7#[derive(Default, Clone)]
8pub struct EnableBuilder {
9 disable_rejection_delay: Option<bool>,
10}
11impl EnableBuilder {
12 pub fn disable_rejection_delay(mut self, disable_rejection_delay: impl Into<bool>) -> Self {
13 self.disable_rejection_delay = Some(disable_rejection_delay.into());
14 self
15 }
16 pub fn build(self) -> Enable {
17 Enable {
18 method: EnableMethod::Enable,
19 params: EnableParams {
20 disable_rejection_delay: self.disable_rejection_delay,
21 },
22 }
23 }
24}
25#[derive(Debug, Clone, Default)]
26pub struct DisableBuilder;
27impl DisableBuilder {
28 pub fn new() -> Self {
29 Self
30 }
31 pub fn build(self) -> Disable {
32 Disable {
33 method: DisableMethod::Disable,
34 params: DisableParams {},
35 }
36 }
37}
38impl Disable {
39 pub fn builder() -> DisableBuilder {
40 DisableBuilder
41 }
42}
43impl SelectAccount {
44 pub fn builder() -> SelectAccountBuilder {
45 <SelectAccountBuilder as Default>::default()
46 }
47}
48#[derive(Default, Clone)]
49pub struct SelectAccountBuilder {
50 dialog_id: Option<String>,
51 account_index: Option<i64>,
52}
53impl SelectAccountBuilder {
54 pub fn dialog_id(mut self, dialog_id: impl Into<String>) -> Self {
55 self.dialog_id = Some(dialog_id.into());
56 self
57 }
58 pub fn account_index(mut self, account_index: impl Into<i64>) -> Self {
59 self.account_index = Some(account_index.into());
60 self
61 }
62 pub fn build(self) -> Result<SelectAccount, String> {
63 Ok(SelectAccount {
64 method: SelectAccountMethod::SelectAccount,
65 params: SelectAccountParams {
66 dialog_id: self.dialog_id.ok_or_else(|| {
67 format!("Field `{}` is mandatory.", std::stringify!(dialog_id))
68 })?,
69 account_index: self.account_index.ok_or_else(|| {
70 format!("Field `{}` is mandatory.", std::stringify!(account_index))
71 })?,
72 },
73 })
74 }
75}
76impl ClickDialogButton {
77 pub fn builder() -> ClickDialogButtonBuilder {
78 <ClickDialogButtonBuilder as Default>::default()
79 }
80}
81#[derive(Default, Clone)]
82pub struct ClickDialogButtonBuilder {
83 dialog_id: Option<String>,
84 dialog_button: Option<super::types::DialogButton>,
85}
86impl ClickDialogButtonBuilder {
87 pub fn dialog_id(mut self, dialog_id: impl Into<String>) -> Self {
88 self.dialog_id = Some(dialog_id.into());
89 self
90 }
91 pub fn dialog_button(mut self, dialog_button: impl Into<super::types::DialogButton>) -> Self {
92 self.dialog_button = Some(dialog_button.into());
93 self
94 }
95 pub fn build(self) -> Result<ClickDialogButton, String> {
96 Ok(ClickDialogButton {
97 method: ClickDialogButtonMethod::ClickDialogButton,
98 params: ClickDialogButtonParams {
99 dialog_id: self.dialog_id.ok_or_else(|| {
100 format!("Field `{}` is mandatory.", std::stringify!(dialog_id))
101 })?,
102 dialog_button: self.dialog_button.ok_or_else(|| {
103 format!("Field `{}` is mandatory.", std::stringify!(dialog_button))
104 })?,
105 },
106 })
107 }
108}
109impl OpenUrl {
110 pub fn builder() -> OpenUrlBuilder {
111 <OpenUrlBuilder as Default>::default()
112 }
113}
114#[derive(Default, Clone)]
115pub struct OpenUrlBuilder {
116 dialog_id: Option<String>,
117 account_index: Option<i64>,
118 account_url_type: Option<super::types::AccountUrlType>,
119}
120impl OpenUrlBuilder {
121 pub fn dialog_id(mut self, dialog_id: impl Into<String>) -> Self {
122 self.dialog_id = Some(dialog_id.into());
123 self
124 }
125 pub fn account_index(mut self, account_index: impl Into<i64>) -> Self {
126 self.account_index = Some(account_index.into());
127 self
128 }
129 pub fn account_url_type(
130 mut self,
131 account_url_type: impl Into<super::types::AccountUrlType>,
132 ) -> Self {
133 self.account_url_type = Some(account_url_type.into());
134 self
135 }
136 pub fn build(self) -> Result<OpenUrl, String> {
137 Ok(OpenUrl {
138 method: OpenUrlMethod::OpenUrl,
139 params: OpenUrlParams {
140 dialog_id: self.dialog_id.ok_or_else(|| {
141 format!("Field `{}` is mandatory.", std::stringify!(dialog_id))
142 })?,
143 account_index: self.account_index.ok_or_else(|| {
144 format!("Field `{}` is mandatory.", std::stringify!(account_index))
145 })?,
146 account_url_type: self.account_url_type.ok_or_else(|| {
147 format!(
148 "Field `{}` is mandatory.",
149 std::stringify!(account_url_type)
150 )
151 })?,
152 },
153 })
154 }
155}
156impl DismissDialog {
157 pub fn builder() -> DismissDialogBuilder {
158 <DismissDialogBuilder as Default>::default()
159 }
160}
161#[derive(Default, Clone)]
162pub struct DismissDialogBuilder {
163 dialog_id: Option<String>,
164 trigger_cooldown: Option<bool>,
165}
166impl DismissDialogBuilder {
167 pub fn dialog_id(mut self, dialog_id: impl Into<String>) -> Self {
168 self.dialog_id = Some(dialog_id.into());
169 self
170 }
171 pub fn trigger_cooldown(mut self, trigger_cooldown: impl Into<bool>) -> Self {
172 self.trigger_cooldown = Some(trigger_cooldown.into());
173 self
174 }
175 pub fn build(self) -> Result<DismissDialog, String> {
176 Ok(DismissDialog {
177 method: DismissDialogMethod::DismissDialog,
178 params: DismissDialogParams {
179 dialog_id: self.dialog_id.ok_or_else(|| {
180 format!("Field `{}` is mandatory.", std::stringify!(dialog_id))
181 })?,
182 trigger_cooldown: self.trigger_cooldown,
183 },
184 })
185 }
186}
187#[derive(Debug, Clone, Default)]
188pub struct ResetCooldownBuilder;
189impl ResetCooldownBuilder {
190 pub fn new() -> Self {
191 Self
192 }
193 pub fn build(self) -> ResetCooldown {
194 ResetCooldown {
195 method: ResetCooldownMethod::ResetCooldown,
196 params: ResetCooldownParams {},
197 }
198 }
199}
200impl ResetCooldown {
201 pub fn builder() -> ResetCooldownBuilder {
202 ResetCooldownBuilder
203 }
204}