aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Msmq/wixext/Symbols
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Msmq/wixext/Symbols')
-rw-r--r--src/ext/Msmq/wixext/Symbols/MessageQueueGroupPermissionSymbol.cs71
-rw-r--r--src/ext/Msmq/wixext/Symbols/MessageQueueSymbol.cs119
-rw-r--r--src/ext/Msmq/wixext/Symbols/MessageQueueUserPermissionSymbol.cs71
-rw-r--r--src/ext/Msmq/wixext/Symbols/MsmqSymbolDefinitions.cs47
4 files changed, 308 insertions, 0 deletions
diff --git a/src/ext/Msmq/wixext/Symbols/MessageQueueGroupPermissionSymbol.cs b/src/ext/Msmq/wixext/Symbols/MessageQueueGroupPermissionSymbol.cs
new file mode 100644
index 00000000..404c061c
--- /dev/null
+++ b/src/ext/Msmq/wixext/Symbols/MessageQueueGroupPermissionSymbol.cs
@@ -0,0 +1,71 @@
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.Msmq
4{
5 using WixToolset.Data;
6 using WixToolset.Msmq.Symbols;
7
8 public static partial class MsmqSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition MessageQueueGroupPermission = new IntermediateSymbolDefinition(
11 MsmqSymbolDefinitionType.MessageQueueGroupPermission.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(MessageQueueGroupPermissionSymbolFields.ComponentRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(MessageQueueGroupPermissionSymbolFields.MessageQueueRef), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(MessageQueueGroupPermissionSymbolFields.GroupRef), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(MessageQueueGroupPermissionSymbolFields.Permissions), IntermediateFieldType.Number),
18 },
19 typeof(MessageQueueGroupPermissionSymbol));
20 }
21}
22
23namespace WixToolset.Msmq.Symbols
24{
25 using WixToolset.Data;
26
27 public enum MessageQueueGroupPermissionSymbolFields
28 {
29 ComponentRef,
30 MessageQueueRef,
31 GroupRef,
32 Permissions,
33 }
34
35 public class MessageQueueGroupPermissionSymbol : IntermediateSymbol
36 {
37 public MessageQueueGroupPermissionSymbol() : base(MsmqSymbolDefinitions.MessageQueueGroupPermission, null, null)
38 {
39 }
40
41 public MessageQueueGroupPermissionSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(MsmqSymbolDefinitions.MessageQueueGroupPermission, sourceLineNumber, id)
42 {
43 }
44
45 public IntermediateField this[MessageQueueGroupPermissionSymbolFields index] => this.Fields[(int)index];
46
47 public string ComponentRef
48 {
49 get => this.Fields[(int)MessageQueueGroupPermissionSymbolFields.ComponentRef].AsString();
50 set => this.Set((int)MessageQueueGroupPermissionSymbolFields.ComponentRef, value);
51 }
52
53 public string MessageQueueRef
54 {
55 get => this.Fields[(int)MessageQueueGroupPermissionSymbolFields.MessageQueueRef].AsString();
56 set => this.Set((int)MessageQueueGroupPermissionSymbolFields.MessageQueueRef, value);
57 }
58
59 public string GroupRef
60 {
61 get => this.Fields[(int)MessageQueueGroupPermissionSymbolFields.GroupRef].AsString();
62 set => this.Set((int)MessageQueueGroupPermissionSymbolFields.GroupRef, value);
63 }
64
65 public int Permissions
66 {
67 get => this.Fields[(int)MessageQueueGroupPermissionSymbolFields.Permissions].AsNumber();
68 set => this.Set((int)MessageQueueGroupPermissionSymbolFields.Permissions, value);
69 }
70 }
71} \ No newline at end of file
diff --git a/src/ext/Msmq/wixext/Symbols/MessageQueueSymbol.cs b/src/ext/Msmq/wixext/Symbols/MessageQueueSymbol.cs
new file mode 100644
index 00000000..b911f0ea
--- /dev/null
+++ b/src/ext/Msmq/wixext/Symbols/MessageQueueSymbol.cs
@@ -0,0 +1,119 @@
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.Msmq
4{
5 using WixToolset.Data;
6 using WixToolset.Msmq.Symbols;
7
8 public static partial class MsmqSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition MessageQueue = new IntermediateSymbolDefinition(
11 MsmqSymbolDefinitionType.MessageQueue.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.ComponentRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.BasePriority), IntermediateFieldType.Number),
16 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.JournalQuota), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.Label), IntermediateFieldType.String),
18 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.MulticastAddress), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.PathName), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.PrivLevel), IntermediateFieldType.Number),
21 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.Quota), IntermediateFieldType.Number),
22 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.ServiceTypeGuid), IntermediateFieldType.String),
23 new IntermediateFieldDefinition(nameof(MessageQueueSymbolFields.Attributes), IntermediateFieldType.Number),
24 },
25 typeof(MessageQueueSymbol));
26 }
27}
28
29namespace WixToolset.Msmq.Symbols
30{
31 using WixToolset.Data;
32
33 public enum MessageQueueSymbolFields
34 {
35 ComponentRef,
36 BasePriority,
37 JournalQuota,
38 Label,
39 MulticastAddress,
40 PathName,
41 PrivLevel,
42 Quota,
43 ServiceTypeGuid,
44 Attributes,
45 }
46
47 public class MessageQueueSymbol : IntermediateSymbol
48 {
49 public MessageQueueSymbol() : base(MsmqSymbolDefinitions.MessageQueue, null, null)
50 {
51 }
52
53 public MessageQueueSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(MsmqSymbolDefinitions.MessageQueue, sourceLineNumber, id)
54 {
55 }
56
57 public IntermediateField this[MessageQueueSymbolFields index] => this.Fields[(int)index];
58
59 public string ComponentRef
60 {
61 get => this.Fields[(int)MessageQueueSymbolFields.ComponentRef].AsString();
62 set => this.Set((int)MessageQueueSymbolFields.ComponentRef, value);
63 }
64
65 public int? BasePriority
66 {
67 get => this.Fields[(int)MessageQueueSymbolFields.BasePriority].AsNullableNumber();
68 set => this.Set((int)MessageQueueSymbolFields.BasePriority, value);
69 }
70
71 public int? JournalQuota
72 {
73 get => this.Fields[(int)MessageQueueSymbolFields.JournalQuota].AsNullableNumber();
74 set => this.Set((int)MessageQueueSymbolFields.JournalQuota, value);
75 }
76
77 public string Label
78 {
79 get => this.Fields[(int)MessageQueueSymbolFields.Label].AsString();
80 set => this.Set((int)MessageQueueSymbolFields.Label, value);
81 }
82
83 public string MulticastAddress
84 {
85 get => this.Fields[(int)MessageQueueSymbolFields.MulticastAddress].AsString();
86 set => this.Set((int)MessageQueueSymbolFields.MulticastAddress, value);
87 }
88
89 public string PathName
90 {
91 get => this.Fields[(int)MessageQueueSymbolFields.PathName].AsString();
92 set => this.Set((int)MessageQueueSymbolFields.PathName, value);
93 }
94
95 public int? PrivLevel
96 {
97 get => this.Fields[(int)MessageQueueSymbolFields.PrivLevel].AsNullableNumber();
98 set => this.Set((int)MessageQueueSymbolFields.PrivLevel, value);
99 }
100
101 public int? Quota
102 {
103 get => this.Fields[(int)MessageQueueSymbolFields.Quota].AsNullableNumber();
104 set => this.Set((int)MessageQueueSymbolFields.Quota, value);
105 }
106
107 public string ServiceTypeGuid
108 {
109 get => this.Fields[(int)MessageQueueSymbolFields.ServiceTypeGuid].AsString();
110 set => this.Set((int)MessageQueueSymbolFields.ServiceTypeGuid, value);
111 }
112
113 public int Attributes
114 {
115 get => this.Fields[(int)MessageQueueSymbolFields.Attributes].AsNumber();
116 set => this.Set((int)MessageQueueSymbolFields.Attributes, value);
117 }
118 }
119} \ No newline at end of file
diff --git a/src/ext/Msmq/wixext/Symbols/MessageQueueUserPermissionSymbol.cs b/src/ext/Msmq/wixext/Symbols/MessageQueueUserPermissionSymbol.cs
new file mode 100644
index 00000000..cc783845
--- /dev/null
+++ b/src/ext/Msmq/wixext/Symbols/MessageQueueUserPermissionSymbol.cs
@@ -0,0 +1,71 @@
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.Msmq
4{
5 using WixToolset.Data;
6 using WixToolset.Msmq.Symbols;
7
8 public static partial class MsmqSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition MessageQueueUserPermission = new IntermediateSymbolDefinition(
11 MsmqSymbolDefinitionType.MessageQueueUserPermission.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(MessageQueueUserPermissionSymbolFields.ComponentRef), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(MessageQueueUserPermissionSymbolFields.MessageQueueRef), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(MessageQueueUserPermissionSymbolFields.UserRef), IntermediateFieldType.String),
17 new IntermediateFieldDefinition(nameof(MessageQueueUserPermissionSymbolFields.Permissions), IntermediateFieldType.Number),
18 },
19 typeof(MessageQueueUserPermissionSymbol));
20 }
21}
22
23namespace WixToolset.Msmq.Symbols
24{
25 using WixToolset.Data;
26
27 public enum MessageQueueUserPermissionSymbolFields
28 {
29 ComponentRef,
30 MessageQueueRef,
31 UserRef,
32 Permissions,
33 }
34
35 public class MessageQueueUserPermissionSymbol : IntermediateSymbol
36 {
37 public MessageQueueUserPermissionSymbol() : base(MsmqSymbolDefinitions.MessageQueueUserPermission, null, null)
38 {
39 }
40
41 public MessageQueueUserPermissionSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(MsmqSymbolDefinitions.MessageQueueUserPermission, sourceLineNumber, id)
42 {
43 }
44
45 public IntermediateField this[MessageQueueUserPermissionSymbolFields index] => this.Fields[(int)index];
46
47 public string ComponentRef
48 {
49 get => this.Fields[(int)MessageQueueUserPermissionSymbolFields.ComponentRef].AsString();
50 set => this.Set((int)MessageQueueUserPermissionSymbolFields.ComponentRef, value);
51 }
52
53 public string MessageQueueRef
54 {
55 get => this.Fields[(int)MessageQueueUserPermissionSymbolFields.MessageQueueRef].AsString();
56 set => this.Set((int)MessageQueueUserPermissionSymbolFields.MessageQueueRef, value);
57 }
58
59 public string UserRef
60 {
61 get => this.Fields[(int)MessageQueueUserPermissionSymbolFields.UserRef].AsString();
62 set => this.Set((int)MessageQueueUserPermissionSymbolFields.UserRef, value);
63 }
64
65 public int Permissions
66 {
67 get => this.Fields[(int)MessageQueueUserPermissionSymbolFields.Permissions].AsNumber();
68 set => this.Set((int)MessageQueueUserPermissionSymbolFields.Permissions, value);
69 }
70 }
71} \ No newline at end of file
diff --git a/src/ext/Msmq/wixext/Symbols/MsmqSymbolDefinitions.cs b/src/ext/Msmq/wixext/Symbols/MsmqSymbolDefinitions.cs
new file mode 100644
index 00000000..229417fe
--- /dev/null
+++ b/src/ext/Msmq/wixext/Symbols/MsmqSymbolDefinitions.cs
@@ -0,0 +1,47 @@
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.Msmq
4{
5 using System;
6 using WixToolset.Data;
7
8 public enum MsmqSymbolDefinitionType
9 {
10 MessageQueue,
11 MessageQueueGroupPermission,
12 MessageQueueUserPermission,
13 }
14
15 public static partial class MsmqSymbolDefinitions
16 {
17 public static readonly Version Version = new Version("4.0.0");
18
19 public static IntermediateSymbolDefinition ByName(string name)
20 {
21 if (!Enum.TryParse(name, out MsmqSymbolDefinitionType type))
22 {
23 return null;
24 }
25
26 return ByType(type);
27 }
28
29 public static IntermediateSymbolDefinition ByType(MsmqSymbolDefinitionType type)
30 {
31 switch (type)
32 {
33 case MsmqSymbolDefinitionType.MessageQueue:
34 return MsmqSymbolDefinitions.MessageQueue;
35
36 case MsmqSymbolDefinitionType.MessageQueueGroupPermission:
37 return MsmqSymbolDefinitions.MessageQueueGroupPermission;
38
39 case MsmqSymbolDefinitionType.MessageQueueUserPermission:
40 return MsmqSymbolDefinitions.MessageQueueUserPermission;
41
42 default:
43 throw new ArgumentOutOfRangeException(nameof(type));
44 }
45 }
46 }
47}