electron_sys/interface/
set_login_item_settings.rs

1use js_sys::JsString;
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct SetLoginItemSettings {
7    open_at_login: Option<bool>,
8    open_as_hidden: Option<bool>, // FIXME: macos
9    path: Option<JsString>,       // FIXME: windows
10    args: JsString,               // FIXME: windows
11}
12
13#[wasm_bindgen]
14impl SetLoginItemSettings {
15    #[wasm_bindgen(constructor)]
16    pub fn new(
17        open_at_login: Option<bool>,
18        open_as_hidden: Option<bool>, // FIXME: macos
19        path: Option<JsString>,       // FIXME: windows
20        args: JsString,               // FIXME: windows
21    ) -> SetLoginItemSettings {
22        SetLoginItemSettings {
23            open_at_login,
24            open_as_hidden,
25            path,
26            args,
27        }
28    }
29
30    #[wasm_bindgen(getter)]
31    pub fn open_at_login(&self) -> Option<bool> {
32        self.open_at_login
33    }
34
35    #[wasm_bindgen(setter)]
36    pub fn set_open_at_login(&mut self, value: Option<bool>) {
37        self.open_at_login = value;
38    }
39
40    #[wasm_bindgen(getter)]
41    pub fn open_as_hidden(&self) -> Option<bool> {
42        self.open_as_hidden
43    }
44
45    #[wasm_bindgen(getter)]
46    pub fn path(&self) -> Option<JsString> {
47        self.path.clone()
48    }
49
50    #[wasm_bindgen(setter)]
51    pub fn set_path(&mut self, value: Option<JsString>) {
52        self.path = value;
53    }
54
55    #[wasm_bindgen(getter)]
56    pub fn args(&self) -> JsString {
57        self.args.clone()
58    }
59
60    #[wasm_bindgen(setter)]
61    pub fn set_args(&mut self, value: JsString) {
62        self.args = value;
63    }
64}