cdp_protocol/
system_info.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: SystemInfo
2#[allow(unused_imports)]
3use super::types::*;
4#[allow(unused_imports)]
5use serde::{Deserialize, Serialize};
6#[allow(unused_imports)]
7use serde_json::Value as Json;
8#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
9pub enum SubsamplingFormat {
10    #[serde(rename = "yuv420")]
11    Yuv420,
12    #[serde(rename = "yuv422")]
13    Yuv422,
14    #[serde(rename = "yuv444")]
15    Yuv444,
16}
17#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
18pub enum ImageType {
19    #[serde(rename = "jpeg")]
20    Jpeg,
21    #[serde(rename = "webp")]
22    Webp,
23    #[serde(rename = "unknown")]
24    Unknown,
25}
26#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
27pub struct GpuDevice {
28    #[serde(default)]
29    #[serde(rename = "vendorId")]
30    pub vendor_id: JsFloat,
31    #[serde(default)]
32    #[serde(rename = "deviceId")]
33    pub device_id: JsFloat,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    #[serde(default)]
36    #[serde(rename = "subSysId")]
37    pub sub_sys_id: Option<JsFloat>,
38    #[serde(skip_serializing_if = "Option::is_none")]
39    #[serde(default)]
40    #[serde(rename = "revision")]
41    pub revision: Option<JsFloat>,
42    #[serde(default)]
43    #[serde(rename = "vendorString")]
44    pub vendor_string: String,
45    #[serde(default)]
46    #[serde(rename = "deviceString")]
47    pub device_string: String,
48    #[serde(default)]
49    #[serde(rename = "driverVendor")]
50    pub driver_vendor: String,
51    #[serde(default)]
52    #[serde(rename = "driverVersion")]
53    pub driver_version: String,
54}
55#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
56pub struct Size {
57    #[serde(default)]
58    #[serde(rename = "width")]
59    pub width: JsUInt,
60    #[serde(default)]
61    #[serde(rename = "height")]
62    pub height: JsUInt,
63}
64#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
65pub struct VideoDecodeAcceleratorCapability {
66    #[serde(default)]
67    #[serde(rename = "profile")]
68    pub profile: String,
69    #[serde(rename = "maxResolution")]
70    pub max_resolution: Size,
71    #[serde(rename = "minResolution")]
72    pub min_resolution: Size,
73}
74#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
75pub struct VideoEncodeAcceleratorCapability {
76    #[serde(default)]
77    #[serde(rename = "profile")]
78    pub profile: String,
79    #[serde(rename = "maxResolution")]
80    pub max_resolution: Size,
81    #[serde(default)]
82    #[serde(rename = "maxFramerateNumerator")]
83    pub max_framerate_numerator: JsUInt,
84    #[serde(default)]
85    #[serde(rename = "maxFramerateDenominator")]
86    pub max_framerate_denominator: JsUInt,
87}
88#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
89pub struct ImageDecodeAcceleratorCapability {
90    #[serde(rename = "imageType")]
91    pub image_type: ImageType,
92    #[serde(rename = "maxDimensions")]
93    pub max_dimensions: Size,
94    #[serde(rename = "minDimensions")]
95    pub min_dimensions: Size,
96    #[serde(rename = "subsamplings")]
97    pub subsamplings: Vec<SubsamplingFormat>,
98}
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100pub struct GpuInfo {
101    #[serde(rename = "devices")]
102    pub devices: Vec<GpuDevice>,
103    #[serde(default)]
104    #[serde(rename = "driverBugWorkarounds")]
105    pub driver_bug_workarounds: Vec<String>,
106    #[serde(rename = "videoDecoding")]
107    pub video_decoding: Vec<VideoDecodeAcceleratorCapability>,
108    #[serde(rename = "videoEncoding")]
109    pub video_encoding: Vec<VideoEncodeAcceleratorCapability>,
110    #[serde(rename = "imageDecoding")]
111    pub image_decoding: Vec<ImageDecodeAcceleratorCapability>,
112}
113#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
114pub struct ProcessInfo {
115    #[serde(default)]
116    #[serde(rename = "type")]
117    pub r#type: String,
118    #[serde(default)]
119    #[serde(rename = "id")]
120    pub id: JsUInt,
121    #[serde(default)]
122    #[serde(rename = "cpuTime")]
123    pub cpu_time: JsFloat,
124}
125#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
126#[serde(rename_all = "camelCase")]
127pub struct GetInfo(pub Option<serde_json::Value>);
128#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
129pub struct GetFeatureState {
130    #[serde(default)]
131    #[serde(rename = "featureState")]
132    pub feature_state: String,
133}
134#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
135#[serde(rename_all = "camelCase")]
136pub struct GetProcessInfo(pub Option<serde_json::Value>);
137#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
138pub struct GetInfoReturnObject {
139    #[serde(rename = "gpu")]
140    pub gpu: GpuInfo,
141    #[serde(default)]
142    #[serde(rename = "modelName")]
143    pub model_name: String,
144    #[serde(default)]
145    #[serde(rename = "modelVersion")]
146    pub model_version: String,
147    #[serde(default)]
148    #[serde(rename = "commandLine")]
149    pub command_line: String,
150}
151#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
152pub struct GetFeatureStateReturnObject {
153    #[serde(default)]
154    #[serde(rename = "featureEnabled")]
155    pub feature_enabled: bool,
156}
157#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
158pub struct GetProcessInfoReturnObject {
159    #[serde(rename = "processInfo")]
160    pub process_info: Vec<ProcessInfo>,
161}
162impl Method for GetInfo {
163    const NAME: &'static str = "SystemInfo.getInfo";
164    type ReturnObject = GetInfoReturnObject;
165}
166impl Method for GetFeatureState {
167    const NAME: &'static str = "SystemInfo.getFeatureState";
168    type ReturnObject = GetFeatureStateReturnObject;
169}
170impl Method for GetProcessInfo {
171    const NAME: &'static str = "SystemInfo.getProcessInfo";
172    type ReturnObject = GetProcessInfoReturnObject;
173}
174pub mod events {
175    #[allow(unused_imports)]
176    use super::super::types::*;
177    #[allow(unused_imports)]
178    use serde::{Deserialize, Serialize};
179}