electron_sys/interface/
trace_config.rs

1use js_sys::{Array, JsString, Object};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5#[derive(Clone, Debug, PartialEq)]
6pub struct TraceConfig {
7    enable_argument_filter: Option<bool>,
8    excluded_categories: Option<Array>,
9    histogram_names: Option<Array>,
10    included_categories: Option<Array>,
11    included_process_ids: Option<Array>,
12    memory_dump_config: Option<Object>,
13    recording_mode: Option<JsString>,
14    trace_buffer_size_in_events: Option<u32>,
15    trace_buffer_size_in_kb: Option<u32>,
16}
17
18#[wasm_bindgen]
19impl TraceConfig {
20    #[allow(clippy::too_many_arguments)]
21    #[wasm_bindgen(constructor)]
22    pub fn new(
23        enable_argument_filter: Option<bool>,
24        excluded_categories: Option<Array>,
25        histogram_names: Option<Array>,
26        included_categories: Option<Array>,
27        included_process_ids: Option<Array>,
28        memory_dump_config: Option<Object>,
29        recording_mode: Option<JsString>,
30        trace_buffer_size_in_events: Option<u32>,
31        trace_buffer_size_in_kb: Option<u32>,
32    ) -> TraceConfig {
33        TraceConfig {
34            enable_argument_filter,
35            excluded_categories,
36            histogram_names,
37            included_categories,
38            included_process_ids,
39            memory_dump_config,
40            recording_mode,
41            trace_buffer_size_in_events,
42            trace_buffer_size_in_kb,
43        }
44    }
45
46    #[wasm_bindgen(getter)]
47    pub fn enable_argument_filter(&self) -> Option<bool> {
48        self.enable_argument_filter
49    }
50
51    #[wasm_bindgen(setter)]
52    pub fn set_enable_argument_filter(&mut self, value: Option<bool>) {
53        self.enable_argument_filter = value;
54    }
55
56    #[wasm_bindgen(getter)]
57    pub fn excluded_categories(&self) -> Option<Array> {
58        self.excluded_categories.clone()
59    }
60
61    #[wasm_bindgen(setter)]
62    pub fn set_excluded_categories(&mut self, value: Option<Array>) {
63        self.excluded_categories = value;
64    }
65
66    #[wasm_bindgen(getter)]
67    pub fn histogram_names(&self) -> Option<Array> {
68        self.histogram_names.clone()
69    }
70
71    #[wasm_bindgen(setter)]
72    pub fn set_histogram_names(&mut self, value: Option<Array>) {
73        self.histogram_names = value;
74    }
75
76    #[wasm_bindgen(getter)]
77    pub fn included_categories(&self) -> Option<Array> {
78        self.included_categories.clone()
79    }
80
81    #[wasm_bindgen(setter)]
82    pub fn set_included_categories(&mut self, value: Option<Array>) {
83        self.included_categories = value;
84    }
85
86    #[wasm_bindgen(getter)]
87    pub fn included_process_ids(&self) -> Option<Array> {
88        self.included_process_ids.clone()
89    }
90
91    #[wasm_bindgen(setter)]
92    pub fn set_included_process_ids(&mut self, value: Option<Array>) {
93        self.included_process_ids = value;
94    }
95
96    #[wasm_bindgen(getter)]
97    pub fn memory_dump_config(&self) -> Option<Object> {
98        self.memory_dump_config.clone()
99    }
100
101    #[wasm_bindgen(setter)]
102    pub fn set_memory_dump_config(&mut self, value: Option<Object>) {
103        self.memory_dump_config = value;
104    }
105
106    #[wasm_bindgen(getter)]
107    pub fn recording_mode(&self) -> Option<JsString> {
108        self.recording_mode.clone()
109    }
110
111    #[wasm_bindgen(setter)]
112    pub fn set_recording_mode(&mut self, value: Option<JsString>) {
113        self.recording_mode = value;
114    }
115
116    #[wasm_bindgen(getter)]
117    pub fn trace_buffer_size_in_events(&self) -> Option<u32> {
118        self.trace_buffer_size_in_events
119    }
120
121    #[wasm_bindgen(setter)]
122    pub fn set_trace_buffer_size_in_events(&mut self, value: Option<u32>) {
123        self.trace_buffer_size_in_events = value;
124    }
125
126    #[wasm_bindgen(getter)]
127    pub fn trace_buffer_size_in_kb(&self) -> Option<u32> {
128        self.trace_buffer_size_in_kb
129    }
130
131    #[wasm_bindgen(setter)]
132    pub fn set_trace_buffer_size_in_kb(&mut self, value: Option<u32>) {
133        self.trace_buffer_size_in_kb = value;
134    }
135}