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