aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Symbols/WixMergeSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data/Symbols/WixMergeSymbol.cs')
-rw-r--r--src/WixToolset.Data/Symbols/WixMergeSymbol.cs92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Symbols/WixMergeSymbol.cs b/src/WixToolset.Data/Symbols/WixMergeSymbol.cs
new file mode 100644
index 00000000..d066fa8e
--- /dev/null
+++ b/src/WixToolset.Data/Symbols/WixMergeSymbol.cs
@@ -0,0 +1,92 @@
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 WixMerge = new IntermediateSymbolDefinition(
10 SymbolDefinitionType.WixMerge,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.Language), IntermediateFieldType.Number),
14 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.DirectoryRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.SourceFile), IntermediateFieldType.Path),
16 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.DiskId), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.FileAttributes), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.ConfigurationData), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(WixMergeSymbolFields.FeatureRef), IntermediateFieldType.String),
20 },
21 typeof(WixMergeSymbol));
22 }
23}
24
25namespace WixToolset.Data.Symbols
26{
27 public enum WixMergeSymbolFields
28 {
29 Language,
30 DirectoryRef,
31 SourceFile,
32 DiskId,
33 FileAttributes,
34 ConfigurationData,
35 FeatureRef,
36 }
37
38 public class WixMergeSymbol : IntermediateSymbol
39 {
40 public WixMergeSymbol() : base(SymbolDefinitions.WixMerge, null, null)
41 {
42 }
43
44 public WixMergeSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixMerge, sourceLineNumber, id)
45 {
46 }
47
48 public IntermediateField this[WixMergeSymbolFields index] => this.Fields[(int)index];
49
50 public int Language
51 {
52 get => (int)this.Fields[(int)WixMergeSymbolFields.Language];
53 set => this.Set((int)WixMergeSymbolFields.Language, value);
54 }
55
56 public string DirectoryRef
57 {
58 get => (string)this.Fields[(int)WixMergeSymbolFields.DirectoryRef];
59 set => this.Set((int)WixMergeSymbolFields.DirectoryRef, value);
60 }
61
62 public string SourceFile
63 {
64 get => (string)this.Fields[(int)WixMergeSymbolFields.SourceFile];
65 set => this.Set((int)WixMergeSymbolFields.SourceFile, value);
66 }
67
68 public int DiskId
69 {
70 get => (int)this.Fields[(int)WixMergeSymbolFields.DiskId];
71 set => this.Set((int)WixMergeSymbolFields.DiskId, value);
72 }
73
74 public FileSymbolAttributes FileAttributes
75 {
76 get => (FileSymbolAttributes)this.Fields[(int)WixMergeSymbolFields.FileAttributes].AsNumber();
77 set => this.Set((int)WixMergeSymbolFields.FileAttributes, (int)value);
78 }
79
80 public string ConfigurationData
81 {
82 get => (string)this.Fields[(int)WixMergeSymbolFields.ConfigurationData];
83 set => this.Set((int)WixMergeSymbolFields.ConfigurationData, value);
84 }
85
86 public string FeatureRef
87 {
88 get => (string)this.Fields[(int)WixMergeSymbolFields.FeatureRef];
89 set => this.Set((int)WixMergeSymbolFields.FeatureRef, value);
90 }
91 }
92}