1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
// 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.
namespace WixToolset.Util
{
using WixToolset.Data;
using WixToolset.Util.Symbols;
public static partial class UtilSymbolDefinitions
{
public static readonly IntermediateSymbolDefinition Group = new IntermediateSymbolDefinition(
UtilSymbolDefinitionType.Group.ToString(),
new[]
{
new IntermediateFieldDefinition(nameof(GroupSymbolFields.ComponentRef), IntermediateFieldType.String),
new IntermediateFieldDefinition(nameof(GroupSymbolFields.Name), IntermediateFieldType.String),
new IntermediateFieldDefinition(nameof(GroupSymbolFields.Domain), IntermediateFieldType.String),
},
typeof(GroupSymbol));
public static readonly IntermediateSymbolDefinition Group6 = new IntermediateSymbolDefinition(
UtilSymbolDefinitionType.Group6.ToString(),
new[]
{
new IntermediateFieldDefinition(nameof(Group6SymbolFields.GroupRef), IntermediateFieldType.String),
new IntermediateFieldDefinition(nameof(Group6SymbolFields.Comment), IntermediateFieldType.String),
new IntermediateFieldDefinition(nameof(Group6SymbolFields.Attributes), IntermediateFieldType.Number),
},
typeof(Group6Symbol));
}
}
namespace WixToolset.Util.Symbols
{
using System;
using WixToolset.Data;
public enum GroupSymbolFields
{
ComponentRef,
Name,
Domain,
}
public class GroupSymbol : IntermediateSymbol
{
public GroupSymbol() : base(UtilSymbolDefinitions.Group, null, null)
{
}
public GroupSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.Group, sourceLineNumber, id)
{
}
public IntermediateField this[GroupSymbolFields index] => this.Fields[(int)index];
public string ComponentRef
{
get => this.Fields[(int)GroupSymbolFields.ComponentRef].AsString();
set => this.Set((int)GroupSymbolFields.ComponentRef, value);
}
public string Name
{
get => this.Fields[(int)GroupSymbolFields.Name].AsString();
set => this.Set((int)GroupSymbolFields.Name, value);
}
public string Domain
{
get => this.Fields[(int)GroupSymbolFields.Domain].AsString();
set => this.Set((int)GroupSymbolFields.Domain, value);
}
}
[Flags]
public enum Group6SymbolAttributes
{
None = 0x00000000,
FailIfExists = 0x00000010,
UpdateIfExists = 0x00000020,
DontRemoveOnUninstall = 0x00000100,
DontCreateGroup = 0x00000200,
NonVital = 0x00000400,
RemoveComment = 0x00000800,
}
public enum Group6SymbolFields
{
GroupRef,
Comment,
Attributes,
}
public class Group6Symbol : IntermediateSymbol
{
public Group6Symbol() : base(UtilSymbolDefinitions.Group6, null, null)
{
}
public Group6Symbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.Group6, sourceLineNumber, id)
{
}
public IntermediateField this[Group6SymbolFields index] => this.Fields[(int)index];
public string GroupRef
{
get => this.Fields[(int)Group6SymbolFields.GroupRef].AsString();
set => this.Set((int)Group6SymbolFields.GroupRef, value);
}
public string Comment
{
get => this.Fields[(int)Group6SymbolFields.Comment].AsString();
set => this.Set((int)Group6SymbolFields.Comment, value);
}
public Group6SymbolAttributes Attributes
{
get => (Group6SymbolAttributes)this.Fields[(int)Group6SymbolFields.Attributes].AsNumber();
set => this.Set((int)Group6SymbolFields.Attributes, (int)value);
}
}
}
|