aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/SecureObjectsTuple.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/SecureObjectsTuple.cs')
-rw-r--r--src/wixext/Tuples/SecureObjectsTuple.cs87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/wixext/Tuples/SecureObjectsTuple.cs b/src/wixext/Tuples/SecureObjectsTuple.cs
new file mode 100644
index 00000000..f54b23d8
--- /dev/null
+++ b/src/wixext/Tuples/SecureObjectsTuple.cs
@@ -0,0 +1,87 @@
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.Tuples;
7
8 public static partial class UtilTupleDefinitions
9 {
10 public static readonly IntermediateTupleDefinition SecureObjects = new IntermediateTupleDefinition(
11 UtilTupleDefinitionType.SecureObjects.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.SecureObject), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Table), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Domain), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.User), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Permission), IntermediateFieldType.Number),
19 new IntermediateFieldDefinition(nameof(SecureObjectsTupleFields.Component_), IntermediateFieldType.String),
20 },
21 typeof(SecureObjectsTuple));
22 }
23}
24
25namespace WixToolset.Util.Tuples
26{
27 using WixToolset.Data;
28
29 public enum SecureObjectsTupleFields
30 {
31 SecureObject,
32 Table,
33 Domain,
34 User,
35 Permission,
36 Component_,
37 }
38
39 public class SecureObjectsTuple : IntermediateTuple
40 {
41 public SecureObjectsTuple() : base(UtilTupleDefinitions.SecureObjects, null, null)
42 {
43 }
44
45 public SecureObjectsTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilTupleDefinitions.SecureObjects, sourceLineNumber, id)
46 {
47 }
48
49 public IntermediateField this[SecureObjectsTupleFields index] => this.Fields[(int)index];
50
51 public string SecureObject
52 {
53 get => this.Fields[(int)SecureObjectsTupleFields.SecureObject].AsString();
54 set => this.Set((int)SecureObjectsTupleFields.SecureObject, value);
55 }
56
57 public string Table
58 {
59 get => this.Fields[(int)SecureObjectsTupleFields.Table].AsString();
60 set => this.Set((int)SecureObjectsTupleFields.Table, value);
61 }
62
63 public string Domain
64 {
65 get => this.Fields[(int)SecureObjectsTupleFields.Domain].AsString();
66 set => this.Set((int)SecureObjectsTupleFields.Domain, value);
67 }
68
69 public string User
70 {
71 get => this.Fields[(int)SecureObjectsTupleFields.User].AsString();
72 set => this.Set((int)SecureObjectsTupleFields.User, value);
73 }
74
75 public int Permission
76 {
77 get => this.Fields[(int)SecureObjectsTupleFields.Permission].AsNumber();
78 set => this.Set((int)SecureObjectsTupleFields.Permission, value);
79 }
80
81 public string Component_
82 {
83 get => this.Fields[(int)SecureObjectsTupleFields.Component_].AsString();
84 set => this.Set((int)SecureObjectsTupleFields.Component_, value);
85 }
86 }
87} \ No newline at end of file