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