summaryrefslogtreecommitdiff
path: root/src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.cs')
-rw-r--r--src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.cs135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.cs b/src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.cs
new file mode 100644
index 00000000..407b9c14
--- /dev/null
+++ b/src/ext/ComPlus/wixext/Symbols/ComPlusSymbolDefinitions.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 ComPlusSymbolDefinitionType
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 ComPlusSymbolDefinitions
38 {
39 public static readonly Version Version = new Version("4.0.0");
40
41 public static IntermediateSymbolDefinition ByName(string name)
42 {
43 if (!Enum.TryParse(name, out ComPlusSymbolDefinitionType type))
44 {
45 return null;
46 }
47
48 return ByType(type);
49 }
50
51 public static IntermediateSymbolDefinition ByType(ComPlusSymbolDefinitionType type)
52 {
53 switch (type)
54 {
55 case ComPlusSymbolDefinitionType.ComPlusApplication:
56 return ComPlusSymbolDefinitions.ComPlusApplication;
57
58 case ComPlusSymbolDefinitionType.ComPlusApplicationProperty:
59 return ComPlusSymbolDefinitions.ComPlusApplicationProperty;
60
61 case ComPlusSymbolDefinitionType.ComPlusApplicationRole:
62 return ComPlusSymbolDefinitions.ComPlusApplicationRole;
63
64 case ComPlusSymbolDefinitionType.ComPlusApplicationRoleProperty:
65 return ComPlusSymbolDefinitions.ComPlusApplicationRoleProperty;
66
67 case ComPlusSymbolDefinitionType.ComPlusAssembly:
68 return ComPlusSymbolDefinitions.ComPlusAssembly;
69
70 case ComPlusSymbolDefinitionType.ComPlusAssemblyDependency:
71 return ComPlusSymbolDefinitions.ComPlusAssemblyDependency;
72
73 case ComPlusSymbolDefinitionType.ComPlusComponent:
74 return ComPlusSymbolDefinitions.ComPlusComponent;
75
76 case ComPlusSymbolDefinitionType.ComPlusComponentProperty:
77 return ComPlusSymbolDefinitions.ComPlusComponentProperty;
78
79 case ComPlusSymbolDefinitionType.ComPlusGroupInApplicationRole:
80 return ComPlusSymbolDefinitions.ComPlusGroupInApplicationRole;
81
82 case ComPlusSymbolDefinitionType.ComPlusGroupInPartitionRole:
83 return ComPlusSymbolDefinitions.ComPlusGroupInPartitionRole;
84
85 case ComPlusSymbolDefinitionType.ComPlusInterface:
86 return ComPlusSymbolDefinitions.ComPlusInterface;
87
88 case ComPlusSymbolDefinitionType.ComPlusInterfaceProperty:
89 return ComPlusSymbolDefinitions.ComPlusInterfaceProperty;
90
91 case ComPlusSymbolDefinitionType.ComPlusMethod:
92 return ComPlusSymbolDefinitions.ComPlusMethod;
93
94 case ComPlusSymbolDefinitionType.ComPlusMethodProperty:
95 return ComPlusSymbolDefinitions.ComPlusMethodProperty;
96
97 case ComPlusSymbolDefinitionType.ComPlusPartition:
98 return ComPlusSymbolDefinitions.ComPlusPartition;
99
100 case ComPlusSymbolDefinitionType.ComPlusPartitionProperty:
101 return ComPlusSymbolDefinitions.ComPlusPartitionProperty;
102
103 case ComPlusSymbolDefinitionType.ComPlusPartitionRole:
104 return ComPlusSymbolDefinitions.ComPlusPartitionRole;
105
106 case ComPlusSymbolDefinitionType.ComPlusPartitionUser:
107 return ComPlusSymbolDefinitions.ComPlusPartitionUser;
108
109 case ComPlusSymbolDefinitionType.ComPlusRoleForComponent:
110 return ComPlusSymbolDefinitions.ComPlusRoleForComponent;
111
112 case ComPlusSymbolDefinitionType.ComPlusRoleForInterface:
113 return ComPlusSymbolDefinitions.ComPlusRoleForInterface;
114
115 case ComPlusSymbolDefinitionType.ComPlusRoleForMethod:
116 return ComPlusSymbolDefinitions.ComPlusRoleForMethod;
117
118 case ComPlusSymbolDefinitionType.ComPlusSubscription:
119 return ComPlusSymbolDefinitions.ComPlusSubscription;
120
121 case ComPlusSymbolDefinitionType.ComPlusSubscriptionProperty:
122 return ComPlusSymbolDefinitions.ComPlusSubscriptionProperty;
123
124 case ComPlusSymbolDefinitionType.ComPlusUserInApplicationRole:
125 return ComPlusSymbolDefinitions.ComPlusUserInApplicationRole;
126
127 case ComPlusSymbolDefinitionType.ComPlusUserInPartitionRole:
128 return ComPlusSymbolDefinitions.ComPlusUserInPartitionRole;
129
130 default:
131 throw new ArgumentOutOfRangeException(nameof(type));
132 }
133 }
134 }
135}