aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/VSTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/VSTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/VSTupleDefinitions.cs59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/wixext/Tuples/VSTupleDefinitions.cs b/src/wixext/Tuples/VSTupleDefinitions.cs
new file mode 100644
index 00000000..fadcf808
--- /dev/null
+++ b/src/wixext/Tuples/VSTupleDefinitions.cs
@@ -0,0 +1,59 @@
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.VisualStudio
4{
5 using System;
6 using WixToolset.Data;
7
8 public enum VSTupleDefinitionType
9 {
10 HelpFile,
11 HelpFileToNamespace,
12 HelpFilter,
13 HelpFilterToNamespace,
14 HelpNamespace,
15 HelpPlugin,
16 }
17
18 public static partial class VSTupleDefinitions
19 {
20 public static readonly Version Version = new Version("4.0.0");
21
22 public static IntermediateTupleDefinition ByName(string name)
23 {
24 if (!Enum.TryParse(name, out VSTupleDefinitionType type))
25 {
26 return null;
27 }
28
29 return ByType(type);
30 }
31
32 public static IntermediateTupleDefinition ByType(VSTupleDefinitionType type)
33 {
34 switch (type)
35 {
36 case VSTupleDefinitionType.HelpFile:
37 return VSTupleDefinitions.HelpFile;
38
39 case VSTupleDefinitionType.HelpFileToNamespace:
40 return VSTupleDefinitions.HelpFileToNamespace;
41
42 case VSTupleDefinitionType.HelpFilter:
43 return VSTupleDefinitions.HelpFilter;
44
45 case VSTupleDefinitionType.HelpFilterToNamespace:
46 return VSTupleDefinitions.HelpFilterToNamespace;
47
48 case VSTupleDefinitionType.HelpNamespace:
49 return VSTupleDefinitions.HelpNamespace;
50
51 case VSTupleDefinitionType.HelpPlugin:
52 return VSTupleDefinitions.HelpPlugin;
53
54 default:
55 throw new ArgumentOutOfRangeException(nameof(type));
56 }
57 }
58 }
59}