aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Symbols/XmlConfigSymbol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Symbols/XmlConfigSymbol.cs')
-rw-r--r--src/wixext/Symbols/XmlConfigSymbol.cs103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/wixext/Symbols/XmlConfigSymbol.cs b/src/wixext/Symbols/XmlConfigSymbol.cs
new file mode 100644
index 00000000..ca1cf047
--- /dev/null
+++ b/src/wixext/Symbols/XmlConfigSymbol.cs
@@ -0,0 +1,103 @@
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.Util
4{
5 using WixToolset.Data;
6 using WixToolset.Util.Symbols;
7
8 public static partial class UtilSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition XmlConfig = new IntermediateSymbolDefinition(
11 UtilSymbolDefinitionType.XmlConfig.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.File), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.ElementPath), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.VerifyPath), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Name), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Value), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Flags), IntermediateFieldType.Number),
20 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.ComponentRef), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Sequence), IntermediateFieldType.Number),
22 },
23 typeof(XmlConfigSymbol));
24 }
25}
26
27namespace WixToolset.Util.Symbols
28{
29 using WixToolset.Data;
30
31 public enum XmlConfigSymbolFields
32 {
33 File,
34 ElementPath,
35 VerifyPath,
36 Name,
37 Value,
38 Flags,
39 ComponentRef,
40 Sequence,
41 }
42
43 public class XmlConfigSymbol : IntermediateSymbol
44 {
45 public XmlConfigSymbol() : base(UtilSymbolDefinitions.XmlConfig, null, null)
46 {
47 }
48
49 public XmlConfigSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.XmlConfig, sourceLineNumber, id)
50 {
51 }
52
53 public IntermediateField this[XmlConfigSymbolFields index] => this.Fields[(int)index];
54
55 public string File
56 {
57 get => this.Fields[(int)XmlConfigSymbolFields.File].AsString();
58 set => this.Set((int)XmlConfigSymbolFields.File, value);
59 }
60
61 public string ElementPath
62 {
63 get => this.Fields[(int)XmlConfigSymbolFields.ElementPath].AsString();
64 set => this.Set((int)XmlConfigSymbolFields.ElementPath, value);
65 }
66
67 public string VerifyPath
68 {
69 get => this.Fields[(int)XmlConfigSymbolFields.VerifyPath].AsString();
70 set => this.Set((int)XmlConfigSymbolFields.VerifyPath, value);
71 }
72
73 public string Name
74 {
75 get => this.Fields[(int)XmlConfigSymbolFields.Name].AsString();
76 set => this.Set((int)XmlConfigSymbolFields.Name, value);
77 }
78
79 public string Value
80 {
81 get => this.Fields[(int)XmlConfigSymbolFields.Value].AsString();
82 set => this.Set((int)XmlConfigSymbolFields.Value, value);
83 }
84
85 public int Flags
86 {
87 get => this.Fields[(int)XmlConfigSymbolFields.Flags].AsNumber();
88 set => this.Set((int)XmlConfigSymbolFields.Flags, value);
89 }
90
91 public string ComponentRef
92 {
93 get => this.Fields[(int)XmlConfigSymbolFields.ComponentRef].AsString();
94 set => this.Set((int)XmlConfigSymbolFields.ComponentRef, value);
95 }
96
97 public int? Sequence
98 {
99 get => this.Fields[(int)XmlConfigSymbolFields.Sequence].AsNullableNumber();
100 set => this.Set((int)XmlConfigSymbolFields.Sequence, value);
101 }
102 }
103} \ No newline at end of file