aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Tuples/WixChainTuple.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/WixToolset.Data/Tuples/WixChainTuple.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Tuples/WixChainTuple.cs b/src/WixToolset.Data/Tuples/WixChainTuple.cs
new file mode 100644
index 00000000..d3ae2f4a
--- /dev/null
+++ b/src/WixToolset.Data/Tuples/WixChainTuple.cs
@@ -0,0 +1,55 @@
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.Tuples;
6
7 public static partial class TupleDefinitions
8 {
9 public static readonly IntermediateTupleDefinition WixChain = new IntermediateTupleDefinition(
10 TupleDefinitionType.WixChain,
11 new[]
12 {
13 new IntermediateFieldDefinition(nameof(WixChainTupleFields.Attributes), IntermediateFieldType.Number),
14 },
15 typeof(WixChainTuple));
16 }
17}
18
19namespace WixToolset.Data.Tuples
20{
21 using System;
22
23 public enum WixChainTupleFields
24 {
25 Attributes,
26 }
27
28 [Flags]
29 public enum WixChainAttributes
30 {
31 None = 0x0,
32 DisableRollback = 0x1,
33 DisableSystemRestore = 0x2,
34 ParallelCache = 0x4,
35 }
36
37 public class WixChainTuple : IntermediateTuple
38 {
39 public WixChainTuple() : base(TupleDefinitions.WixChain, null, null)
40 {
41 }
42
43 public WixChainTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(TupleDefinitions.WixChain, sourceLineNumber, id)
44 {
45 }
46
47 public IntermediateField this[WixChainTupleFields index] => this.Fields[(int)index];
48
49 public WixChainAttributes Attributes
50 {
51 get => (WixChainAttributes)(int)this.Fields[(int)WixChainTupleFields.Attributes]?.Value;
52 set => this.Set((int)WixChainTupleFields.Attributes, (int)value);
53 }
54 }
55} \ No newline at end of file