electron_sys/class/
download_item.rs

1use crate::interface::SaveDialogOptions;
2use js_sys::JsString;
3use node_sys::events::EventEmitter;
4use wasm_bindgen::prelude::*;
5
6#[wasm_bindgen(module = "electron")]
7extern {
8    #[wasm_bindgen(extends = EventEmitter)]
9    #[derive(Clone, Debug)]
10    /// Docs: http://electronjs.org/docs/api/download-item
11    pub type DownloadItem;
12
13    //******************//
14    // Instance Methods //
15    //******************//
16
17    #[wasm_bindgen(method)]
18    pub fn cancel(this: &DownloadItem);
19
20    #[wasm_bindgen(method, js_name = "canResume")]
21    pub fn can_resume(this: &DownloadItem) -> bool;
22
23    #[wasm_bindgen(method, js_name = "getContentDisposition")]
24    pub fn get_content_disposition(this: &DownloadItem) -> JsString;
25
26    #[wasm_bindgen(method, js_name = "getETag")]
27    pub fn get_etag(this: &DownloadItem) -> JsString;
28
29    #[wasm_bindgen(method, js_name = "getFilename")]
30    pub fn get_filename(this: &DownloadItem) -> JsString;
31
32    #[wasm_bindgen(method, js_name = "getLastModifiedTime")]
33    pub fn get_last_modified_time(this: &DownloadItem) -> JsString;
34
35    #[wasm_bindgen(method, js_name = "getMimeType")]
36    pub fn get_mime_type(this: &DownloadItem) -> JsString;
37
38    #[wasm_bindgen(method, js_name = "getReceivedBytes")]
39    pub fn get_received_bytes(this: &DownloadItem) -> usize;
40
41    #[wasm_bindgen(method, js_name = "getSaveDialogOptions")]
42    pub fn get_save_dialog_options(this: &DownloadItem) -> SaveDialogOptions;
43
44    #[wasm_bindgen(method, js_name = "getSavePath")]
45    pub fn get_save_path(this: &DownloadItem) -> JsString;
46
47    #[wasm_bindgen(method, js_name = "getSavePath")]
48    pub fn get_start_time(this: &DownloadItem) -> u32;
49
50    #[wasm_bindgen(method, js_name = "getState")]
51    pub fn get_state(this: &DownloadItem) -> JsString;
52
53    #[wasm_bindgen(method, js_name = "getTotalBytes")]
54    pub fn get_total_bytes(this: &DownloadItem) -> usize;
55
56    #[wasm_bindgen(method, js_name = "getURL")]
57    pub fn get_url(this: &DownloadItem) -> JsString;
58
59    #[wasm_bindgen(method, js_name = "getURLChain")]
60    pub fn get_url_chain(this: &DownloadItem) -> Box<[JsValue]>;
61
62    #[wasm_bindgen(method, js_name = "has_user_gesture")]
63    pub fn has_user_gesture(this: &DownloadItem) -> bool;
64
65    #[wasm_bindgen(method, js_name = "is_paused")]
66    pub fn is_paused(this: &DownloadItem) -> bool;
67
68    #[wasm_bindgen(method)]
69    pub fn pause(this: &DownloadItem);
70
71    #[wasm_bindgen(method)]
72    pub fn resume(this: &DownloadItem);
73
74    #[wasm_bindgen(method, js_name = "setSaveDialogOptions")]
75    pub fn set_save_dialog_options(this: &DownloadItem, options: SaveDialogOptions);
76
77    //*********************//
78    // Instance Properties //
79    //*********************//
80
81    #[wasm_bindgen(method, getter, js_name = "savePath")]
82    pub fn save_path(this: &DownloadItem) -> JsString;
83
84    #[wasm_bindgen(method, setter, js_name = "savePath")]
85    pub fn set_save_path(this: &DownloadItem, value: JsString);
86}