aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/MessageQueueTuple.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/MessageQueueTuple.cs')
-rw-r--r--src/wixext/Tuples/MessageQueueTuple.cs127
1 files changed, 127 insertions, 0 deletions
diff --git a/src/wixext/Tuples/MessageQueueTuple.cs b/src/wixext/Tuples/MessageQueueTuple.cs
new file mode 100644
index 00000000..86f7f2a4
--- /dev/null
+++ b/src/wixext/Tuples/MessageQueueTuple.cs
@@ -0,0 +1,127 @@
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.Tuples;
7
8 public static partial class MsmqTupleDefinitions
9 {
10 public static readonly IntermediateTupleDefinition MessageQueue = new IntermediateTupleDefinition(
11 MsmqTupleDefinitionType.MessageQueue.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.MessageQueue), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.Component_), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.BasePriority), IntermediateFieldType.Number),
17 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.JournalQuota), IntermediateFieldType.Number),
18 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.Label), IntermediateFieldType.String),
19 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.MulticastAddress), IntermediateFieldType.String),
20 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.PathName), IntermediateFieldType.String),
21 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.PrivLevel), IntermediateFieldType.Number),
22 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.Quota), IntermediateFieldType.Number),
23 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.ServiceTypeGuid), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(MessageQueueTupleFields.Attributes), IntermediateFieldType.Number),
25 },
26 typeof(MessageQueueTuple));
27 }
28}
29
30namespace WixToolset.Msmq.Tuples
31{
32 using WixToolset.Data;
33
34 public enum MessageQueueTupleFields
35 {
36 MessageQueue,
37 Component_,
38 BasePriority,
39 JournalQuota,
40 Label,
41 MulticastAddress,
42 PathName,
43 PrivLevel,
44 Quota,
45 ServiceTypeGuid,
46 Attributes,
47 }
48
49 public class MessageQueueTuple : IntermediateTuple
50 {
51 public MessageQueueTuple() : base(MsmqTupleDefinitions.MessageQueue, null, null)
52 {
53 }
54
55 public MessageQueueTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(MsmqTupleDefinitions.MessageQueue, sourceLineNumber, id)
56 {
57 }
58
59 public IntermediateField this[MessageQueueTupleFields index] => this.Fields[(int)index];
60
61 public string MessageQueue
62 {
63 get => this.Fields[(int)MessageQueueTupleFields.MessageQueue].AsString();
64 set => this.Set((int)MessageQueueTupleFields.MessageQueue, value);
65 }
66
67 public string Component_
68 {
69 get => this.Fields[(int)MessageQueueTupleFields.Component_].AsString();
70 set => this.Set((int)MessageQueueTupleFields.Component_, value);
71 }
72
73 public int BasePriority
74 {
75 get => this.Fields[(int)MessageQueueTupleFields.BasePriority].AsNumber();
76 set => this.Set((int)MessageQueueTupleFields.BasePriority, value);
77 }
78
79 public int JournalQuota
80 {
81 get => this.Fields[(int)MessageQueueTupleFields.JournalQuota].AsNumber();
82 set => this.Set((int)MessageQueueTupleFields.JournalQuota, value);
83 }
84
85 public string Label
86 {
87 get => this.Fields[(int)MessageQueueTupleFields.Label].AsString();
88 set => this.Set((int)MessageQueueTupleFields.Label, value);
89 }
90
91 public string MulticastAddress
92 {
93 get => this.Fields[(int)MessageQueueTupleFields.MulticastAddress].AsString();
94 set => this.Set((int)MessageQueueTupleFields.MulticastAddress, value);
95 }
96
97 public string PathName
98 {
99 get => this.Fields[(int)MessageQueueTupleFields.PathName].AsString();
100 set => this.Set((int)MessageQueueTupleFields.PathName, value);
101 }
102
103 public int PrivLevel
104 {
105 get => this.Fields[(int)MessageQueueTupleFields.PrivLevel].AsNumber();
106 set => this.Set((int)MessageQueueTupleFields.PrivLevel, value);
107 }
108
109 public int Quota
110 {
111 get => this.Fields[(int)MessageQueueTupleFields.Quota].AsNumber();
112 set => this.Set((int)MessageQueueTupleFields.Quota, value);
113 }
114
115 public string ServiceTypeGuid
116 {
117 get => this.Fields[(int)MessageQueueTupleFields.ServiceTypeGuid].AsString();
118 set => this.Set((int)MessageQueueTupleFields.ServiceTypeGuid, value);
119 }
120
121 public int Attributes
122 {
123 get => this.Fields[(int)MessageQueueTupleFields.Attributes].AsNumber();
124 set => this.Set((int)MessageQueueTupleFields.Attributes, value);
125 }
126 }
127} \ No newline at end of file