diff options
Diffstat (limited to 'src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs')
-rw-r--r-- | src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs b/src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs new file mode 100644 index 00000000..21735f64 --- /dev/null +++ b/src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs | |||
@@ -0,0 +1,105 @@ | |||
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 WixBundleMsiPackage = new IntermediateSymbolDefinition( | ||
10 | SymbolDefinitionType.WixBundleMsiPackage, | ||
11 | new[] | ||
12 | { | ||
13 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.Attributes), IntermediateFieldType.Number), | ||
14 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductCode), IntermediateFieldType.String), | ||
15 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.UpgradeCode), IntermediateFieldType.String), | ||
16 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductVersion), IntermediateFieldType.String), | ||
17 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductLanguage), IntermediateFieldType.Number), | ||
18 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.ProductName), IntermediateFieldType.String), | ||
19 | new IntermediateFieldDefinition(nameof(WixBundleMsiPackageSymbolFields.Manufacturer), IntermediateFieldType.String), | ||
20 | }, | ||
21 | typeof(WixBundleMsiPackageSymbol)); | ||
22 | } | ||
23 | } | ||
24 | |||
25 | namespace WixToolset.Data.Symbols | ||
26 | { | ||
27 | using System; | ||
28 | |||
29 | public enum WixBundleMsiPackageSymbolFields | ||
30 | { | ||
31 | Attributes, | ||
32 | ProductCode, | ||
33 | UpgradeCode, | ||
34 | ProductVersion, | ||
35 | ProductLanguage, | ||
36 | ProductName, | ||
37 | Manufacturer, | ||
38 | } | ||
39 | |||
40 | [Flags] | ||
41 | public enum WixBundleMsiPackageAttributes | ||
42 | { | ||
43 | EnableFeatureSelection = 0x4, | ||
44 | ForcePerMachine = 0x2, | ||
45 | } | ||
46 | |||
47 | public class WixBundleMsiPackageSymbol : IntermediateSymbol | ||
48 | { | ||
49 | public WixBundleMsiPackageSymbol() : base(SymbolDefinitions.WixBundleMsiPackage, null, null) | ||
50 | { | ||
51 | } | ||
52 | |||
53 | public WixBundleMsiPackageSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixBundleMsiPackage, sourceLineNumber, id) | ||
54 | { | ||
55 | } | ||
56 | |||
57 | public IntermediateField this[WixBundleMsiPackageSymbolFields index] => this.Fields[(int)index]; | ||
58 | |||
59 | public WixBundleMsiPackageAttributes Attributes | ||
60 | { | ||
61 | get => (WixBundleMsiPackageAttributes)(int)this.Fields[(int)WixBundleMsiPackageSymbolFields.Attributes]; | ||
62 | set => this.Set((int)WixBundleMsiPackageSymbolFields.Attributes, (int)value); | ||
63 | } | ||
64 | |||
65 | public string ProductCode | ||
66 | { | ||
67 | get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.ProductCode]; | ||
68 | set => this.Set((int)WixBundleMsiPackageSymbolFields.ProductCode, value); | ||
69 | } | ||
70 | |||
71 | public string UpgradeCode | ||
72 | { | ||
73 | get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.UpgradeCode]; | ||
74 | set => this.Set((int)WixBundleMsiPackageSymbolFields.UpgradeCode, value); | ||
75 | } | ||
76 | |||
77 | public string ProductVersion | ||
78 | { | ||
79 | get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.ProductVersion]; | ||
80 | set => this.Set((int)WixBundleMsiPackageSymbolFields.ProductVersion, value); | ||
81 | } | ||
82 | |||
83 | public int ProductLanguage | ||
84 | { | ||
85 | get => (int)this.Fields[(int)WixBundleMsiPackageSymbolFields.ProductLanguage]; | ||
86 | set => this.Set((int)WixBundleMsiPackageSymbolFields.ProductLanguage, value); | ||
87 | } | ||
88 | |||
89 | public string ProductName | ||
90 | { | ||
91 | get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.ProductName]; | ||
92 | set => this.Set((int)WixBundleMsiPackageSymbolFields.ProductName, value); | ||
93 | } | ||
94 | |||
95 | public string Manufacturer | ||
96 | { | ||
97 | get => (string)this.Fields[(int)WixBundleMsiPackageSymbolFields.Manufacturer]; | ||
98 | set => this.Set((int)WixBundleMsiPackageSymbolFields.Manufacturer, value); | ||
99 | } | ||
100 | |||
101 | public bool EnableFeatureSelection => (this.Attributes & WixBundleMsiPackageAttributes.EnableFeatureSelection) == WixBundleMsiPackageAttributes.EnableFeatureSelection; | ||
102 | |||
103 | public bool ForcePerMachine => (this.Attributes & WixBundleMsiPackageAttributes.ForcePerMachine) == WixBundleMsiPackageAttributes.ForcePerMachine; | ||
104 | } | ||
105 | } \ No newline at end of file | ||