Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceAdapters/
MountainSandboxConfiguration.rs

1//! Mountain's own sandbox-config payload (input to
2//! `WindServiceAdapter::convert_to_wind_configuration`).
3//! Private to this module; the trio of nested DTOs
4//! (`Versions`, `NLSConfiguration`, `ProductConfiguration`)
5//! lives inline because they're consumed only here and never
6//! constructed externally.
7
8use std::collections::HashMap;
9
10use serde::{Deserialize, Serialize};
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub(super) struct Struct {
14	pub window_id:String,
15
16	pub machine_id:String,
17
18	pub session_id:String,
19
20	pub log_level:i32,
21
22	pub user_env:HashMap<String, String>,
23
24	pub app_root:String,
25
26	pub app_name:String,
27
28	pub app_uri_scheme:String,
29
30	pub app_language:String,
31
32	pub app_host:String,
33
34	pub platform:String,
35
36	pub arch:String,
37
38	pub versions:Versions,
39
40	pub exec_path:String,
41
42	pub home_dir:String,
43
44	pub tmp_dir:String,
45
46	pub user_data_dir:String,
47
48	pub backup_path:String,
49
50	pub resources_path:String,
51
52	pub vscode_cwd:String,
53
54	pub nls:NLSConfiguration,
55
56	pub product_configuration:ProductConfiguration,
57
58	pub zoom_level:f64,
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize)]
62pub(super) struct Versions {
63	pub mountain:String,
64
65	pub electron:String,
66
67	pub chrome:String,
68
69	pub node:String,
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize)]
73pub(super) struct NLSConfiguration {
74	pub messages:HashMap<String, String>,
75
76	pub language:String,
77
78	pub available_languages:HashMap<String, String>,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
82pub(super) struct ProductConfiguration {
83	pub name_short:String,
84
85	pub name_long:String,
86
87	pub application_name:String,
88
89	pub embedder_identifier:String,
90
91	pub is_packaged:bool,
92}