aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/MsmqTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/MsmqTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/MsmqTupleDefinitions.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/wixext/Tuples/MsmqTupleDefinitions.cs b/src/wixext/Tuples/MsmqTupleDefinitions.cs
new file mode 100644
index 00000000..e6accdc6
--- /dev/null
+++ b/src/wixext/Tuples/MsmqTupleDefinitions.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 MsmqTupleDefinitionType
9 {
10 MessageQueue,
11 MessageQueueGroupPermission,
12 MessageQueueUserPermission,
13 }
14
15 public static partial class MsmqTupleDefinitions
16 {
17 public static readonly Version Version = new Version("4.0.0");
18
19 public static IntermediateTupleDefinition ByName(string name)
20 {
21 if (!Enum.TryParse(name, out MsmqTupleDefinitionType type))
22 {
23 return null;
24 }
25
26 return ByType(type);
27 }
28
29 public static IntermediateTupleDefinition ByType(MsmqTupleDefinitionType type)
30 {
31 switch (type)
32 {
33 case MsmqTupleDefinitionType.MessageQueue:
34 return MsmqTupleDefinitions.MessageQueue;
35
36 case MsmqTupleDefinitionType.MessageQueueGroupPermission:
37 return MsmqTupleDefinitions.MessageQueueGroupPermission;
38
39 case MsmqTupleDefinitionType.MessageQueueUserPermission:
40 return MsmqTupleDefinitions.MessageQueueUserPermission;
41
42 default:
43 throw new ArgumentOutOfRangeException(nameof(type));
44 }
45 }
46 }
47}