1use super::target;
3#[allow(unused_imports)]
4use super::types::*;
5#[allow(unused_imports)]
6use serde::{Deserialize, Serialize};
7#[allow(unused_imports)]
8use serde_json::Value as Json;
9pub type BrowserContextId = String;
10pub type WindowId = JsUInt;
11#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
12pub enum WindowState {
13 #[serde(rename = "normal")]
14 Normal,
15 #[serde(rename = "minimized")]
16 Minimized,
17 #[serde(rename = "maximized")]
18 Maximized,
19 #[serde(rename = "fullscreen")]
20 Fullscreen,
21}
22#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
23pub enum PermissionType {
24 #[serde(rename = "ar")]
25 Ar,
26 #[serde(rename = "audioCapture")]
27 AudioCapture,
28 #[serde(rename = "automaticFullscreen")]
29 AutomaticFullscreen,
30 #[serde(rename = "backgroundFetch")]
31 BackgroundFetch,
32 #[serde(rename = "backgroundSync")]
33 BackgroundSync,
34 #[serde(rename = "cameraPanTiltZoom")]
35 CameraPanTiltZoom,
36 #[serde(rename = "capturedSurfaceControl")]
37 CapturedSurfaceControl,
38 #[serde(rename = "clipboardReadWrite")]
39 ClipboardReadWrite,
40 #[serde(rename = "clipboardSanitizedWrite")]
41 ClipboardSanitizedWrite,
42 #[serde(rename = "displayCapture")]
43 DisplayCapture,
44 #[serde(rename = "durableStorage")]
45 DurableStorage,
46 #[serde(rename = "geolocation")]
47 Geolocation,
48 #[serde(rename = "handTracking")]
49 HandTracking,
50 #[serde(rename = "idleDetection")]
51 IdleDetection,
52 #[serde(rename = "keyboardLock")]
53 KeyboardLock,
54 #[serde(rename = "localFonts")]
55 LocalFonts,
56 #[serde(rename = "localNetworkAccess")]
57 LocalNetworkAccess,
58 #[serde(rename = "midi")]
59 Midi,
60 #[serde(rename = "midiSysex")]
61 MidiSysex,
62 #[serde(rename = "nfc")]
63 Nfc,
64 #[serde(rename = "notifications")]
65 Notifications,
66 #[serde(rename = "paymentHandler")]
67 PaymentHandler,
68 #[serde(rename = "periodicBackgroundSync")]
69 PeriodicBackgroundSync,
70 #[serde(rename = "pointerLock")]
71 PointerLock,
72 #[serde(rename = "protectedMediaIdentifier")]
73 ProtectedMediaIdentifier,
74 #[serde(rename = "sensors")]
75 Sensors,
76 #[serde(rename = "smartCard")]
77 SmartCard,
78 #[serde(rename = "speakerSelection")]
79 SpeakerSelection,
80 #[serde(rename = "storageAccess")]
81 StorageAccess,
82 #[serde(rename = "topLevelStorageAccess")]
83 TopLevelStorageAccess,
84 #[serde(rename = "videoCapture")]
85 VideoCapture,
86 #[serde(rename = "vr")]
87 Vr,
88 #[serde(rename = "wakeLockScreen")]
89 WakeLockScreen,
90 #[serde(rename = "wakeLockSystem")]
91 WakeLockSystem,
92 #[serde(rename = "webAppInstallation")]
93 WebAppInstallation,
94 #[serde(rename = "webPrinting")]
95 WebPrinting,
96 #[serde(rename = "windowManagement")]
97 WindowManagement,
98}
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100pub enum PermissionSetting {
101 #[serde(rename = "granted")]
102 Granted,
103 #[serde(rename = "denied")]
104 Denied,
105 #[serde(rename = "prompt")]
106 Prompt,
107}
108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
109pub enum BrowserCommandId {
110 #[serde(rename = "openTabSearch")]
111 OpenTabSearch,
112 #[serde(rename = "closeTabSearch")]
113 CloseTabSearch,
114 #[serde(rename = "openGlic")]
115 OpenGlic,
116}
117#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
118pub enum PrivacySandboxApi {
119 #[serde(rename = "BiddingAndAuctionServices")]
120 BiddingAndAuctionServices,
121 #[serde(rename = "TrustedKeyValue")]
122 TrustedKeyValue,
123}
124#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
125pub enum SetDownloadBehaviorBehaviorOption {
126 #[serde(rename = "deny")]
127 Deny,
128 #[serde(rename = "allow")]
129 Allow,
130 #[serde(rename = "allowAndName")]
131 AllowAndName,
132 #[serde(rename = "default")]
133 Default,
134}
135#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
136pub enum DownloadProgressStateOption {
137 #[serde(rename = "inProgress")]
138 InProgress,
139 #[serde(rename = "completed")]
140 Completed,
141 #[serde(rename = "canceled")]
142 Canceled,
143}
144#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
145pub struct Bounds {
146 #[serde(skip_serializing_if = "Option::is_none")]
147 #[serde(default)]
148 #[serde(rename = "left")]
149 pub left: Option<JsUInt>,
150 #[serde(skip_serializing_if = "Option::is_none")]
151 #[serde(default)]
152 #[serde(rename = "top")]
153 pub top: Option<JsUInt>,
154 #[serde(skip_serializing_if = "Option::is_none")]
155 #[serde(default)]
156 #[serde(rename = "width")]
157 pub width: Option<JsUInt>,
158 #[serde(skip_serializing_if = "Option::is_none")]
159 #[serde(default)]
160 #[serde(rename = "height")]
161 pub height: Option<JsUInt>,
162 #[serde(skip_serializing_if = "Option::is_none")]
163 #[serde(rename = "windowState")]
164 pub window_state: Option<WindowState>,
165}
166#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
167pub struct PermissionDescriptor {
168 #[serde(default)]
169 #[serde(rename = "name")]
170 pub name: String,
171 #[serde(skip_serializing_if = "Option::is_none")]
172 #[serde(default)]
173 #[serde(rename = "sysex")]
174 pub sysex: Option<bool>,
175 #[serde(skip_serializing_if = "Option::is_none")]
176 #[serde(default)]
177 #[serde(rename = "userVisibleOnly")]
178 pub user_visible_only: Option<bool>,
179 #[serde(skip_serializing_if = "Option::is_none")]
180 #[serde(default)]
181 #[serde(rename = "allowWithoutSanitization")]
182 pub allow_without_sanitization: Option<bool>,
183 #[serde(skip_serializing_if = "Option::is_none")]
184 #[serde(default)]
185 #[serde(rename = "allowWithoutGesture")]
186 pub allow_without_gesture: Option<bool>,
187 #[serde(skip_serializing_if = "Option::is_none")]
188 #[serde(default)]
189 #[serde(rename = "panTiltZoom")]
190 pub pan_tilt_zoom: Option<bool>,
191}
192#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
193pub struct Bucket {
194 #[serde(default)]
195 #[serde(rename = "low")]
196 pub low: JsUInt,
197 #[serde(default)]
198 #[serde(rename = "high")]
199 pub high: JsUInt,
200 #[serde(default)]
201 #[serde(rename = "count")]
202 pub count: JsUInt,
203}
204#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
205pub struct Histogram {
206 #[serde(default)]
207 #[serde(rename = "name")]
208 pub name: String,
209 #[serde(default)]
210 #[serde(rename = "sum")]
211 pub sum: JsUInt,
212 #[serde(default)]
213 #[serde(rename = "count")]
214 pub count: JsUInt,
215 #[serde(rename = "buckets")]
216 pub buckets: Vec<Bucket>,
217}
218#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
219pub struct SetPermission {
220 #[serde(rename = "permission")]
221 pub permission: PermissionDescriptor,
222 #[serde(rename = "setting")]
223 pub setting: PermissionSetting,
224 #[serde(skip_serializing_if = "Option::is_none")]
225 #[serde(default)]
226 #[serde(rename = "origin")]
227 pub origin: Option<String>,
228 #[serde(skip_serializing_if = "Option::is_none")]
229 #[serde(default)]
230 #[serde(rename = "embeddedOrigin")]
231 pub embedded_origin: Option<String>,
232 #[serde(skip_serializing_if = "Option::is_none")]
233 #[serde(rename = "browserContextId")]
234 pub browser_context_id: Option<BrowserContextId>,
235}
236#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
237pub struct GrantPermissions {
238 #[serde(rename = "permissions")]
239 pub permissions: Vec<PermissionType>,
240 #[serde(skip_serializing_if = "Option::is_none")]
241 #[serde(default)]
242 #[serde(rename = "origin")]
243 pub origin: Option<String>,
244 #[serde(skip_serializing_if = "Option::is_none")]
245 #[serde(rename = "browserContextId")]
246 pub browser_context_id: Option<BrowserContextId>,
247}
248#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
249pub struct ResetPermissions {
250 #[serde(skip_serializing_if = "Option::is_none")]
251 #[serde(rename = "browserContextId")]
252 pub browser_context_id: Option<BrowserContextId>,
253}
254#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
255pub struct SetDownloadBehavior {
256 #[serde(rename = "behavior")]
257 pub behavior: SetDownloadBehaviorBehaviorOption,
258 #[serde(skip_serializing_if = "Option::is_none")]
259 #[serde(rename = "browserContextId")]
260 pub browser_context_id: Option<BrowserContextId>,
261 #[serde(skip_serializing_if = "Option::is_none")]
262 #[serde(default)]
263 #[serde(rename = "downloadPath")]
264 pub download_path: Option<String>,
265 #[serde(skip_serializing_if = "Option::is_none")]
266 #[serde(default)]
267 #[serde(rename = "eventsEnabled")]
268 pub events_enabled: Option<bool>,
269}
270#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
271pub struct CancelDownload {
272 #[serde(default)]
273 #[serde(rename = "guid")]
274 pub guid: String,
275 #[serde(skip_serializing_if = "Option::is_none")]
276 #[serde(rename = "browserContextId")]
277 pub browser_context_id: Option<BrowserContextId>,
278}
279#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
280#[serde(rename_all = "camelCase")]
281pub struct Close(pub Option<serde_json::Value>);
282#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
283#[serde(rename_all = "camelCase")]
284pub struct Crash(pub Option<serde_json::Value>);
285#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
286#[serde(rename_all = "camelCase")]
287pub struct CrashGpuProcess(pub Option<serde_json::Value>);
288#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
289#[serde(rename_all = "camelCase")]
290pub struct GetVersion(pub Option<serde_json::Value>);
291#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
292#[serde(rename_all = "camelCase")]
293pub struct GetBrowserCommandLine(pub Option<serde_json::Value>);
294#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
295pub struct GetHistograms {
296 #[serde(skip_serializing_if = "Option::is_none")]
297 #[serde(default)]
298 #[serde(rename = "query")]
299 pub query: Option<String>,
300 #[serde(skip_serializing_if = "Option::is_none")]
301 #[serde(default)]
302 #[serde(rename = "delta")]
303 pub delta: Option<bool>,
304}
305#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
306pub struct GetHistogram {
307 #[serde(default)]
308 #[serde(rename = "name")]
309 pub name: String,
310 #[serde(skip_serializing_if = "Option::is_none")]
311 #[serde(default)]
312 #[serde(rename = "delta")]
313 pub delta: Option<bool>,
314}
315#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
316pub struct GetWindowBounds {
317 #[serde(rename = "windowId")]
318 pub window_id: WindowId,
319}
320#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
321pub struct GetWindowForTarget {
322 #[serde(skip_serializing_if = "Option::is_none")]
323 #[serde(rename = "targetId")]
324 pub target_id: Option<target::TargetId>,
325}
326#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
327pub struct SetWindowBounds {
328 #[serde(rename = "windowId")]
329 pub window_id: WindowId,
330 #[serde(rename = "bounds")]
331 pub bounds: Bounds,
332}
333#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
334pub struct SetContentsSize {
335 #[serde(rename = "windowId")]
336 pub window_id: WindowId,
337 #[serde(skip_serializing_if = "Option::is_none")]
338 #[serde(default)]
339 #[serde(rename = "width")]
340 pub width: Option<JsUInt>,
341 #[serde(skip_serializing_if = "Option::is_none")]
342 #[serde(default)]
343 #[serde(rename = "height")]
344 pub height: Option<JsUInt>,
345}
346#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
347pub struct SetDockTile {
348 #[serde(skip_serializing_if = "Option::is_none")]
349 #[serde(default)]
350 #[serde(rename = "badgeLabel")]
351 pub badge_label: Option<String>,
352 #[serde(skip_serializing_if = "Option::is_none")]
353 #[serde(rename = "image")]
354 pub image: Option<Vec<u8>>,
355}
356#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
357pub struct ExecuteBrowserCommand {
358 #[serde(rename = "commandId")]
359 pub command_id: BrowserCommandId,
360}
361#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
362pub struct AddPrivacySandboxEnrollmentOverride {
363 #[serde(default)]
364 #[serde(rename = "url")]
365 pub url: String,
366}
367#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
368pub struct AddPrivacySandboxCoordinatorKeyConfig {
369 #[serde(rename = "api")]
370 pub api: PrivacySandboxApi,
371 #[serde(default)]
372 #[serde(rename = "coordinatorOrigin")]
373 pub coordinator_origin: String,
374 #[serde(default)]
375 #[serde(rename = "keyConfig")]
376 pub key_config: String,
377 #[serde(skip_serializing_if = "Option::is_none")]
378 #[serde(rename = "browserContextId")]
379 pub browser_context_id: Option<BrowserContextId>,
380}
381#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
382#[serde(rename_all = "camelCase")]
383pub struct SetPermissionReturnObject {}
384#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
385#[serde(rename_all = "camelCase")]
386pub struct GrantPermissionsReturnObject {}
387#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
388#[serde(rename_all = "camelCase")]
389pub struct ResetPermissionsReturnObject {}
390#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
391#[serde(rename_all = "camelCase")]
392pub struct SetDownloadBehaviorReturnObject {}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394#[serde(rename_all = "camelCase")]
395pub struct CancelDownloadReturnObject {}
396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
397#[serde(rename_all = "camelCase")]
398pub struct CloseReturnObject {}
399#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
400#[serde(rename_all = "camelCase")]
401pub struct CrashReturnObject {}
402#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
403#[serde(rename_all = "camelCase")]
404pub struct CrashGpuProcessReturnObject {}
405#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
406pub struct GetVersionReturnObject {
407 #[serde(default)]
408 #[serde(rename = "protocolVersion")]
409 pub protocol_version: String,
410 #[serde(default)]
411 #[serde(rename = "product")]
412 pub product: String,
413 #[serde(default)]
414 #[serde(rename = "revision")]
415 pub revision: String,
416 #[serde(default)]
417 #[serde(rename = "userAgent")]
418 pub user_agent: String,
419 #[serde(default)]
420 #[serde(rename = "jsVersion")]
421 pub js_version: String,
422}
423#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
424pub struct GetBrowserCommandLineReturnObject {
425 #[serde(rename = "arguments")]
426 pub arguments: Vec<String>,
427}
428#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
429pub struct GetHistogramsReturnObject {
430 #[serde(rename = "histograms")]
431 pub histograms: Vec<Histogram>,
432}
433#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
434pub struct GetHistogramReturnObject {
435 #[serde(rename = "histogram")]
436 pub histogram: Histogram,
437}
438#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
439pub struct GetWindowBoundsReturnObject {
440 #[serde(rename = "bounds")]
441 pub bounds: Bounds,
442}
443#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
444pub struct GetWindowForTargetReturnObject {
445 #[serde(rename = "windowId")]
446 pub window_id: WindowId,
447 #[serde(rename = "bounds")]
448 pub bounds: Bounds,
449}
450#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
451#[serde(rename_all = "camelCase")]
452pub struct SetWindowBoundsReturnObject {}
453#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
454#[serde(rename_all = "camelCase")]
455pub struct SetContentsSizeReturnObject {}
456#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
457#[serde(rename_all = "camelCase")]
458pub struct SetDockTileReturnObject {}
459#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
460#[serde(rename_all = "camelCase")]
461pub struct ExecuteBrowserCommandReturnObject {}
462#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
463#[serde(rename_all = "camelCase")]
464pub struct AddPrivacySandboxEnrollmentOverrideReturnObject {}
465#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
466#[serde(rename_all = "camelCase")]
467pub struct AddPrivacySandboxCoordinatorKeyConfigReturnObject {}
468impl Method for SetPermission {
469 const NAME: &'static str = "Browser.setPermission";
470 type ReturnObject = SetPermissionReturnObject;
471}
472impl Method for GrantPermissions {
473 const NAME: &'static str = "Browser.grantPermissions";
474 type ReturnObject = GrantPermissionsReturnObject;
475}
476impl Method for ResetPermissions {
477 const NAME: &'static str = "Browser.resetPermissions";
478 type ReturnObject = ResetPermissionsReturnObject;
479}
480impl Method for SetDownloadBehavior {
481 const NAME: &'static str = "Browser.setDownloadBehavior";
482 type ReturnObject = SetDownloadBehaviorReturnObject;
483}
484impl Method for CancelDownload {
485 const NAME: &'static str = "Browser.cancelDownload";
486 type ReturnObject = CancelDownloadReturnObject;
487}
488impl Method for Close {
489 const NAME: &'static str = "Browser.close";
490 type ReturnObject = CloseReturnObject;
491}
492impl Method for Crash {
493 const NAME: &'static str = "Browser.crash";
494 type ReturnObject = CrashReturnObject;
495}
496impl Method for CrashGpuProcess {
497 const NAME: &'static str = "Browser.crashGpuProcess";
498 type ReturnObject = CrashGpuProcessReturnObject;
499}
500impl Method for GetVersion {
501 const NAME: &'static str = "Browser.getVersion";
502 type ReturnObject = GetVersionReturnObject;
503}
504impl Method for GetBrowserCommandLine {
505 const NAME: &'static str = "Browser.getBrowserCommandLine";
506 type ReturnObject = GetBrowserCommandLineReturnObject;
507}
508impl Method for GetHistograms {
509 const NAME: &'static str = "Browser.getHistograms";
510 type ReturnObject = GetHistogramsReturnObject;
511}
512impl Method for GetHistogram {
513 const NAME: &'static str = "Browser.getHistogram";
514 type ReturnObject = GetHistogramReturnObject;
515}
516impl Method for GetWindowBounds {
517 const NAME: &'static str = "Browser.getWindowBounds";
518 type ReturnObject = GetWindowBoundsReturnObject;
519}
520impl Method for GetWindowForTarget {
521 const NAME: &'static str = "Browser.getWindowForTarget";
522 type ReturnObject = GetWindowForTargetReturnObject;
523}
524impl Method for SetWindowBounds {
525 const NAME: &'static str = "Browser.setWindowBounds";
526 type ReturnObject = SetWindowBoundsReturnObject;
527}
528impl Method for SetContentsSize {
529 const NAME: &'static str = "Browser.setContentsSize";
530 type ReturnObject = SetContentsSizeReturnObject;
531}
532impl Method for SetDockTile {
533 const NAME: &'static str = "Browser.setDockTile";
534 type ReturnObject = SetDockTileReturnObject;
535}
536impl Method for ExecuteBrowserCommand {
537 const NAME: &'static str = "Browser.executeBrowserCommand";
538 type ReturnObject = ExecuteBrowserCommandReturnObject;
539}
540impl Method for AddPrivacySandboxEnrollmentOverride {
541 const NAME: &'static str = "Browser.addPrivacySandboxEnrollmentOverride";
542 type ReturnObject = AddPrivacySandboxEnrollmentOverrideReturnObject;
543}
544impl Method for AddPrivacySandboxCoordinatorKeyConfig {
545 const NAME: &'static str = "Browser.addPrivacySandboxCoordinatorKeyConfig";
546 type ReturnObject = AddPrivacySandboxCoordinatorKeyConfigReturnObject;
547}
548pub mod events {
549 #[allow(unused_imports)]
550 use super::super::types::*;
551 #[allow(unused_imports)]
552 use serde::{Deserialize, Serialize};
553 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
554 pub struct DownloadWillBeginEvent {
555 pub params: DownloadWillBeginEventParams,
556 }
557 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
558 pub struct DownloadWillBeginEventParams {
559 #[serde(rename = "frameId")]
560 pub frame_id: super::super::page::FrameId,
561 #[serde(default)]
562 #[serde(rename = "guid")]
563 pub guid: String,
564 #[serde(default)]
565 #[serde(rename = "url")]
566 pub url: String,
567 #[serde(default)]
568 #[serde(rename = "suggestedFilename")]
569 pub suggested_filename: String,
570 }
571 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
572 pub struct DownloadProgressEvent {
573 pub params: DownloadProgressEventParams,
574 }
575 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
576 pub struct DownloadProgressEventParams {
577 #[serde(default)]
578 #[serde(rename = "guid")]
579 pub guid: String,
580 #[serde(default)]
581 #[serde(rename = "totalBytes")]
582 pub total_bytes: JsFloat,
583 #[serde(default)]
584 #[serde(rename = "receivedBytes")]
585 pub received_bytes: JsFloat,
586 #[serde(rename = "state")]
587 pub state: super::DownloadProgressStateOption,
588 #[serde(skip_serializing_if = "Option::is_none")]
589 #[serde(default)]
590 #[serde(rename = "filePath")]
591 pub file_path: Option<String>,
592 }
593}