rustenium_cdp_definitions/browser_protocol/system_info/
command_builders.rs1use super::commands::*;
2#[derive(Debug, Clone, Default)]
3pub struct GetInfoBuilder;
4impl GetInfoBuilder {
5 pub fn new() -> Self {
6 Self
7 }
8 pub fn build(self) -> GetInfo {
9 GetInfo {
10 method: GetInfoMethod::GetInfo,
11 params: GetInfoParams {},
12 }
13 }
14}
15impl GetInfo {
16 pub fn builder() -> GetInfoBuilder {
17 GetInfoBuilder
18 }
19}
20impl GetFeatureState {
21 pub fn builder() -> GetFeatureStateBuilder {
22 <GetFeatureStateBuilder as Default>::default()
23 }
24}
25#[derive(Default, Clone)]
26pub struct GetFeatureStateBuilder {
27 feature_state: Option<String>,
28}
29impl GetFeatureStateBuilder {
30 pub fn feature_state(mut self, feature_state: impl Into<String>) -> Self {
31 self.feature_state = Some(feature_state.into());
32 self
33 }
34 pub fn build(self) -> Result<GetFeatureState, String> {
35 Ok(GetFeatureState {
36 method: GetFeatureStateMethod::GetFeatureState,
37 params: GetFeatureStateParams {
38 feature_state: self.feature_state.ok_or_else(|| {
39 format!("Field `{}` is mandatory.", std::stringify!(feature_state))
40 })?,
41 },
42 })
43 }
44}
45#[derive(Debug, Clone, Default)]
46pub struct GetProcessInfoBuilder;
47impl GetProcessInfoBuilder {
48 pub fn new() -> Self {
49 Self
50 }
51 pub fn build(self) -> GetProcessInfo {
52 GetProcessInfo {
53 method: GetProcessInfoMethod::GetProcessInfo,
54 params: GetProcessInfoParams {},
55 }
56 }
57}
58impl GetProcessInfo {
59 pub fn builder() -> GetProcessInfoBuilder {
60 GetProcessInfoBuilder
61 }
62}