main
cs 174 lines 7.36 KB
Raw
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 WixBundleHarvestedMsiPackage = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.WixBundleHarvestedMsiPackage,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.Attributes), IntermediateFieldType.Number),
14 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ProductName), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ArpComments), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.AllUsers), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.MsiFastInstall), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ArpSystemComponent), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ProductCode), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.UpgradeCode), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.Manufacturer), IntermediateFieldType.String),
22 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ProductLanguage), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.ProductVersion), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(WixBundleHarvestedMsiPackageSymbolFields.InstallSize), IntermediateFieldType.LargeNumber),
25 },
26 typeof(WixBundleHarvestedMsiPackageSymbol));
27 }
28 }
29
30 namespace WixToolset.Data.Symbols
31 {
32 using System;
33
34 public enum WixBundleHarvestedMsiPackageSymbolFields
35 {
36 Attributes,
37 ProductName,
38 ArpComments,
39 AllUsers,
40 MsiFastInstall,
41 ArpSystemComponent,
42 ProductCode,
43 UpgradeCode,
44 Manufacturer,
45 ProductLanguage,
46 ProductVersion,
47 InstallSize,
48 }
49
50 [Flags]
51 public enum WixBundleHarvestedMsiPackageAttributes
52 {
53 None = 0x0,
54 PerMachine = 0x01,
55 Win64 = 0x2,
56 }
57
58 public class WixBundleHarvestedMsiPackageSymbol : IntermediateSymbol
59 {
60 public WixBundleHarvestedMsiPackageSymbol() : base(SymbolDefinitions.WixBundleHarvestedMsiPackage, null, null)
61 {
62 }
63
64 public WixBundleHarvestedMsiPackageSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBundleHarvestedMsiPackage, sourceLineNumber, id)
65 {
66 }
67
68 public IntermediateField this[WixBundleHarvestedMsiPackageSymbolFields index] => this.Fields[(int)index];
69
70 public WixBundleHarvestedMsiPackageAttributes Attributes
71 {
72 get => (WixBundleHarvestedMsiPackageAttributes)this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.Attributes].AsNumber();
73 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.Attributes, (int)value);
74 }
75
76 public string ProductName
77 {
78 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ProductName].AsString();
79 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ProductName, value);
80 }
81
82 public string ArpComments
83 {
84 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ArpComments].AsString();
85 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ArpComments, value);
86 }
87
88 public string AllUsers
89 {
90 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.AllUsers].AsString();
91 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.AllUsers, value);
92 }
93
94 public string MsiFastInstall
95 {
96 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.MsiFastInstall].AsString();
97 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.MsiFastInstall, value);
98 }
99
100 public string ArpSystemComponent
101 {
102 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ArpSystemComponent].AsString();
103 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ArpSystemComponent, value);
104 }
105
106 public string ProductCode
107 {
108 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ProductCode].AsString();
109 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ProductCode, value);
110 }
111
112 public string UpgradeCode
113 {
114 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.UpgradeCode].AsString();
115 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.UpgradeCode, value);
116 }
117
118 public string Manufacturer
119 {
120 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.Manufacturer].AsString();
121 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.Manufacturer, value);
122 }
123
124 public string ProductLanguage
125 {
126 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ProductLanguage].AsString();
127 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ProductLanguage, value);
128 }
129
130 public string ProductVersion
131 {
132 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.ProductVersion].AsString();
133 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.ProductVersion, value);
134 }
135
136 public long InstallSize
137 {
138 get => this.Fields[(int)WixBundleHarvestedMsiPackageSymbolFields.InstallSize].AsLargeNumber();
139 set => this.Set((int)WixBundleHarvestedMsiPackageSymbolFields.InstallSize, value);
140 }
141
142 public bool PerMachine
143 {
144 get { return this.Attributes.HasFlag(WixBundleHarvestedMsiPackageAttributes.PerMachine); }
145 set
146 {
147 if (value)
148 {
149 this.Attributes |= WixBundleHarvestedMsiPackageAttributes.PerMachine;
150 }
151 else
152 {
153 this.Attributes &= ~WixBundleHarvestedMsiPackageAttributes.PerMachine;
154 }
155 }
156 }
157
158 public bool Win64
159 {
160 get { return this.Attributes.HasFlag(WixBundleHarvestedMsiPackageAttributes.Win64); }
161 set
162 {
163 if (value)
164 {
165 this.Attributes |= WixBundleHarvestedMsiPackageAttributes.Win64;
166 }
167 else
168 {
169 this.Attributes &= ~WixBundleHarvestedMsiPackageAttributes.Win64;
170 }
171 }
172 }
173 }
174 }