electron_sys/interface/
trace_config.rs1use 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}