aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs')
-rw-r--r--src/WixToolset.Data/Symbols/WixBundleMsiPackageSymbol.cs105
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
3namespace 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
25namespace 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