aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/ComPlusTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/ComPlusTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/ComPlusTupleDefinitions.cs135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/wixext/Tuples/ComPlusTupleDefinitions.cs b/src/wixext/Tuples/ComPlusTupleDefinitions.cs
new file mode 100644
index 00000000..1019c046
--- /dev/null
+++ b/src/wixext/Tuples/ComPlusTupleDefinitions.cs
@@ -0,0 +1,135 @@
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.ComPlus
4{
5 using System;
6 using WixToolset.Data;
7
8 public enum ComPlusTupleDefinitionType
9 {
10 ComPlusApplication,
11 ComPlusApplicationProperty,
12 ComPlusApplicationRole,
13 ComPlusApplicationRoleProperty,
14 ComPlusAssembly,
15 ComPlusAssemblyDependency,
16 ComPlusComponent,
17 ComPlusComponentProperty,
18 ComPlusGroupInApplicationRole,
19 ComPlusGroupInPartitionRole,
20 ComPlusInterface,
21 ComPlusInterfaceProperty,
22 ComPlusMethod,
23 ComPlusMethodProperty,
24 ComPlusPartition,
25 ComPlusPartitionProperty,
26 ComPlusPartitionRole,
27 ComPlusPartitionUser,
28 ComPlusRoleForComponent,
29 ComPlusRoleForInterface,
30 ComPlusRoleForMethod,
31 ComPlusSubscription,
32 ComPlusSubscriptionProperty,
33 ComPlusUserInApplicationRole,
34 ComPlusUserInPartitionRole,
35 }
36
37 public static partial class ComPlusTupleDefinitions
38 {
39 public static readonly Version Version = new Version("4.0.0");
40
41 public static IntermediateTupleDefinition ByName(string name)
42 {
43 if (!Enum.TryParse(name, out ComPlusTupleDefinitionType type))
44 {
45 return null;
46 }
47
48 return ByType(type);
49 }
50
51 public static IntermediateTupleDefinition ByType(ComPlusTupleDefinitionType type)
52 {
53 switch (type)
54 {
55 case ComPlusTupleDefinitionType.ComPlusApplication:
56 return ComPlusTupleDefinitions.ComPlusApplication;
57
58 case ComPlusTupleDefinitionType.ComPlusApplicationProperty:
59 return ComPlusTupleDefinitions.ComPlusApplicationProperty;
60
61 case ComPlusTupleDefinitionType.ComPlusApplicationRole:
62 return ComPlusTupleDefinitions.ComPlusApplicationRole;
63
64 case ComPlusTupleDefinitionType.ComPlusApplicationRoleProperty:
65 return ComPlusTupleDefinitions.ComPlusApplicationRoleProperty;
66
67 case ComPlusTupleDefinitionType.ComPlusAssembly:
68 return ComPlusTupleDefinitions.ComPlusAssembly;
69
70 case ComPlusTupleDefinitionType.ComPlusAssemblyDependency:
71 return ComPlusTupleDefinitions.ComPlusAssemblyDependency;
72
73 case ComPlusTupleDefinitionType.ComPlusComponent:
74 return ComPlusTupleDefinitions.ComPlusComponent;
75
76 case ComPlusTupleDefinitionType.ComPlusComponentProperty:
77 return ComPlusTupleDefinitions.ComPlusComponentProperty;
78
79 case ComPlusTupleDefinitionType.ComPlusGroupInApplicationRole:
80 return ComPlusTupleDefinitions.ComPlusGroupInApplicationRole;
81
82 case ComPlusTupleDefinitionType.ComPlusGroupInPartitionRole:
83 return ComPlusTupleDefinitions.ComPlusGroupInPartitionRole;
84
85 case ComPlusTupleDefinitionType.ComPlusInterface:
86 return ComPlusTupleDefinitions.ComPlusInterface;
87
88 case ComPlusTupleDefinitionType.ComPlusInterfaceProperty:
89 return ComPlusTupleDefinitions.ComPlusInterfaceProperty;
90
91 case ComPlusTupleDefinitionType.ComPlusMethod:
92 return ComPlusTupleDefinitions.ComPlusMethod;
93
94 case ComPlusTupleDefinitionType.ComPlusMethodProperty:
95 return ComPlusTupleDefinitions.ComPlusMethodProperty;
96
97 case ComPlusTupleDefinitionType.ComPlusPartition:
98 return ComPlusTupleDefinitions.ComPlusPartition;
99
100 case ComPlusTupleDefinitionType.ComPlusPartitionProperty:
101 return ComPlusTupleDefinitions.ComPlusPartitionProperty;
102
103 case ComPlusTupleDefinitionType.ComPlusPartitionRole:
104 return ComPlusTupleDefinitions.ComPlusPartitionRole;
105
106 case ComPlusTupleDefinitionType.ComPlusPartitionUser:
107 return ComPlusTupleDefinitions.ComPlusPartitionUser;
108
109 case ComPlusTupleDefinitionType.ComPlusRoleForComponent:
110 return ComPlusTupleDefinitions.ComPlusRoleForComponent;
111
112 case ComPlusTupleDefinitionType.ComPlusRoleForInterface:
113 return ComPlusTupleDefinitions.ComPlusRoleForInterface;
114
115 case ComPlusTupleDefinitionType.ComPlusRoleForMethod:
116 return ComPlusTupleDefinitions.ComPlusRoleForMethod;
117
118 case ComPlusTupleDefinitionType.ComPlusSubscription:
119 return ComPlusTupleDefinitions.ComPlusSubscription;
120
121 case ComPlusTupleDefinitionType.ComPlusSubscriptionProperty:
122 return ComPlusTupleDefinitions.ComPlusSubscriptionProperty;
123
124 case ComPlusTupleDefinitionType.ComPlusUserInApplicationRole:
125 return ComPlusTupleDefinitions.ComPlusUserInApplicationRole;
126
127 case ComPlusTupleDefinitionType.ComPlusUserInPartitionRole:
128 return ComPlusTupleDefinitions.ComPlusUserInPartitionRole;
129
130 default:
131 throw new ArgumentOutOfRangeException(nameof(type));
132 }
133 }
134 }
135}