diff options
Diffstat (limited to 'src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs')
-rw-r--r-- | src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs b/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs new file mode 100644 index 00000000..cbe7f761 --- /dev/null +++ b/src/api/wix/WixToolset.Data/Symbols/WixBundlePackageSymbol.cs | |||
@@ -0,0 +1,212 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.Data | ||
4 | { | ||
5 | using WixToolset.Data.Symbols; | ||
6 | |||
7 | public static partial class SymbolDefinitions | ||
8 | { | ||
9 | public static readonly IntermediateSymbolDefinition WixBundlePackage = new IntermediateSymbolDefinition( | ||
10 | SymbolDefinitionType.WixBundlePackage, | ||
11 | new[] | ||
12 | { | ||
13 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Type), IntermediateFieldType.String), | ||
14 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.PayloadRef), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Attributes), IntermediateFieldType.Number), | ||
16 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.InstallCondition), IntermediateFieldType.String), | ||
17 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Cache), IntermediateFieldType.String), | ||
18 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.CacheId), IntermediateFieldType.String), | ||
19 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Vital), IntermediateFieldType.Bool), | ||
20 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.PerMachine), IntermediateFieldType.String), | ||
21 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.LogPathVariable), IntermediateFieldType.String), | ||
22 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackLogPathVariable), IntermediateFieldType.String), | ||
23 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Size), IntermediateFieldType.LargeNumber), | ||
24 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.InstallSize), IntermediateFieldType.LargeNumber), | ||
25 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Version), IntermediateFieldType.String), | ||
26 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Language), IntermediateFieldType.Number), | ||
27 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.DisplayName), IntermediateFieldType.String), | ||
28 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Description), IntermediateFieldType.String), | ||
29 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryRef), IntermediateFieldType.String), | ||
30 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef), IntermediateFieldType.String), | ||
31 | new IntermediateFieldDefinition(nameof(WixBundlePackageSymbolFields.Win64), IntermediateFieldType.Bool), | ||
32 | }, | ||
33 | typeof(WixBundlePackageSymbol)); | ||
34 | } | ||
35 | } | ||
36 | |||
37 | namespace WixToolset.Data.Symbols | ||
38 | { | ||
39 | using System; | ||
40 | |||
41 | public enum WixBundlePackageSymbolFields | ||
42 | { | ||
43 | Type, | ||
44 | PayloadRef, | ||
45 | Attributes, | ||
46 | InstallCondition, | ||
47 | Cache, | ||
48 | CacheId, | ||
49 | Vital, | ||
50 | PerMachine, | ||
51 | LogPathVariable, | ||
52 | RollbackLogPathVariable, | ||
53 | Size, | ||
54 | InstallSize, | ||
55 | Version, | ||
56 | Language, | ||
57 | DisplayName, | ||
58 | Description, | ||
59 | RollbackBoundaryRef, | ||
60 | RollbackBoundaryBackwardRef, | ||
61 | Win64, | ||
62 | } | ||
63 | |||
64 | /// <summary> | ||
65 | /// Types of bundle packages. | ||
66 | /// </summary> | ||
67 | public enum WixBundlePackageType | ||
68 | { | ||
69 | Exe, | ||
70 | Msi, | ||
71 | Msp, | ||
72 | Msu, | ||
73 | } | ||
74 | |||
75 | [Flags] | ||
76 | public enum WixBundlePackageAttributes | ||
77 | { | ||
78 | Permanent = 0x1, | ||
79 | Visible = 0x2, | ||
80 | PerMachine = 0x4, | ||
81 | Win64 = 0x8, | ||
82 | } | ||
83 | |||
84 | public class WixBundlePackageSymbol : IntermediateSymbol | ||
85 | { | ||
86 | public WixBundlePackageSymbol() : base(SymbolDefinitions.WixBundlePackage, null, null) | ||
87 | { | ||
88 | } | ||
89 | |||
90 | public WixBundlePackageSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBundlePackage, sourceLineNumber, id) | ||
91 | { | ||
92 | } | ||
93 | |||
94 | public IntermediateField this[WixBundlePackageSymbolFields index] => this.Fields[(int)index]; | ||
95 | |||
96 | public WixBundlePackageType Type | ||
97 | { | ||
98 | get => (WixBundlePackageType)Enum.Parse(typeof(WixBundlePackageType), (string)this.Fields[(int)WixBundlePackageSymbolFields.Type], true); | ||
99 | set => this.Set((int)WixBundlePackageSymbolFields.Type, value.ToString()); | ||
100 | } | ||
101 | |||
102 | public string PayloadRef | ||
103 | { | ||
104 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.PayloadRef]; | ||
105 | set => this.Set((int)WixBundlePackageSymbolFields.PayloadRef, value); | ||
106 | } | ||
107 | |||
108 | public WixBundlePackageAttributes Attributes | ||
109 | { | ||
110 | get => (WixBundlePackageAttributes)(int)this.Fields[(int)WixBundlePackageSymbolFields.Attributes]; | ||
111 | set => this.Set((int)WixBundlePackageSymbolFields.Attributes, (int)value); | ||
112 | } | ||
113 | |||
114 | public string InstallCondition | ||
115 | { | ||
116 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.InstallCondition]; | ||
117 | set => this.Set((int)WixBundlePackageSymbolFields.InstallCondition, value); | ||
118 | } | ||
119 | |||
120 | public YesNoAlwaysType Cache | ||
121 | { | ||
122 | get => Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.Cache], true, out YesNoAlwaysType value) ? value : YesNoAlwaysType.NotSet; | ||
123 | set => this.Set((int)WixBundlePackageSymbolFields.Cache, value.ToString().ToLowerInvariant()); | ||
124 | } | ||
125 | |||
126 | public string CacheId | ||
127 | { | ||
128 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.CacheId]; | ||
129 | set => this.Set((int)WixBundlePackageSymbolFields.CacheId, value); | ||
130 | } | ||
131 | |||
132 | public bool? Vital | ||
133 | { | ||
134 | get => (bool?)this.Fields[(int)WixBundlePackageSymbolFields.Vital]; | ||
135 | set => this.Set((int)WixBundlePackageSymbolFields.Vital, value); | ||
136 | } | ||
137 | |||
138 | public YesNoDefaultType PerMachine | ||
139 | { | ||
140 | get => Enum.TryParse((string)this.Fields[(int)WixBundlePackageSymbolFields.PerMachine], true, out YesNoDefaultType value) ? value : YesNoDefaultType.NotSet; | ||
141 | set => this.Set((int)WixBundlePackageSymbolFields.PerMachine, value.ToString().ToLowerInvariant()); | ||
142 | } | ||
143 | |||
144 | public string LogPathVariable | ||
145 | { | ||
146 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.LogPathVariable]; | ||
147 | set => this.Set((int)WixBundlePackageSymbolFields.LogPathVariable, value); | ||
148 | } | ||
149 | |||
150 | public string RollbackLogPathVariable | ||
151 | { | ||
152 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.RollbackLogPathVariable]; | ||
153 | set => this.Set((int)WixBundlePackageSymbolFields.RollbackLogPathVariable, value); | ||
154 | } | ||
155 | |||
156 | public long Size | ||
157 | { | ||
158 | get => (long)this.Fields[(int)WixBundlePackageSymbolFields.Size]; | ||
159 | set => this.Set((int)WixBundlePackageSymbolFields.Size, value); | ||
160 | } | ||
161 | |||
162 | public long? InstallSize | ||
163 | { | ||
164 | get => (long?)this.Fields[(int)WixBundlePackageSymbolFields.InstallSize]; | ||
165 | set => this.Set((int)WixBundlePackageSymbolFields.InstallSize, value); | ||
166 | } | ||
167 | |||
168 | public string Version | ||
169 | { | ||
170 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.Version]; | ||
171 | set => this.Set((int)WixBundlePackageSymbolFields.Version, value); | ||
172 | } | ||
173 | |||
174 | public int? Language | ||
175 | { | ||
176 | get => (int?)this.Fields[(int)WixBundlePackageSymbolFields.Language]; | ||
177 | set => this.Set((int)WixBundlePackageSymbolFields.Language, value); | ||
178 | } | ||
179 | |||
180 | public string DisplayName | ||
181 | { | ||
182 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.DisplayName]; | ||
183 | set => this.Set((int)WixBundlePackageSymbolFields.DisplayName, value); | ||
184 | } | ||
185 | |||
186 | public string Description | ||
187 | { | ||
188 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.Description]; | ||
189 | set => this.Set((int)WixBundlePackageSymbolFields.Description, value); | ||
190 | } | ||
191 | |||
192 | public string RollbackBoundaryRef | ||
193 | { | ||
194 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.RollbackBoundaryRef]; | ||
195 | set => this.Set((int)WixBundlePackageSymbolFields.RollbackBoundaryRef, value); | ||
196 | } | ||
197 | |||
198 | public string RollbackBoundaryBackwardRef | ||
199 | { | ||
200 | get => (string)this.Fields[(int)WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef]; | ||
201 | set => this.Set((int)WixBundlePackageSymbolFields.RollbackBoundaryBackwardRef, value); | ||
202 | } | ||
203 | |||
204 | public bool Win64 | ||
205 | { | ||
206 | get => (bool)this.Fields[(int)WixBundlePackageSymbolFields.Win64]; | ||
207 | set => this.Set((int)WixBundlePackageSymbolFields.Win64, value); | ||
208 | } | ||
209 | |||
210 | public bool Permanent => (this.Attributes & WixBundlePackageAttributes.Permanent) == WixBundlePackageAttributes.Permanent; | ||
211 | } | ||
212 | } \ No newline at end of file | ||