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