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