aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs')
-rw-r--r--src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs b/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
new file mode 100644
index 00000000..72091c3b
--- /dev/null
+++ b/src/ext/Util/wixext/Symbols/UtilSymbolDefinitions.cs
@@ -0,0 +1,125 @@
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.Util
4{
5 using System;
6 using WixToolset.Data;
7 using WixToolset.Data.Burn;
8
9 public enum UtilSymbolDefinitionType
10 {
11 EventManifest,
12 FileShare,
13 FileSharePermissions,
14 Group,
15 Perfmon,
16 PerfmonManifest,
17 PerformanceCategory,
18 SecureObjects,
19 ServiceConfig,
20 User,
21 UserGroup,
22 WixCloseApplication,
23 WixFormatFiles,
24 WixInternetShortcut,
25 WixRemoveFolderEx,
26 WixRemoveRegistryKeyEx,
27 WixRestartResource,
28 WixTouchFile,
29 WixWindowsFeatureSearch,
30 XmlConfig,
31 XmlFile,
32 }
33
34 public static partial class UtilSymbolDefinitions
35 {
36 public static readonly Version Version = new Version("4.0.0");
37
38 public static IntermediateSymbolDefinition ByName(string name)
39 {
40 if (!Enum.TryParse(name, out UtilSymbolDefinitionType type))
41 {
42 return null;
43 }
44
45 return ByType(type);
46 }
47
48 public static IntermediateSymbolDefinition ByType(UtilSymbolDefinitionType type)
49 {
50 switch (type)
51 {
52 case UtilSymbolDefinitionType.EventManifest:
53 return UtilSymbolDefinitions.EventManifest;
54
55 case UtilSymbolDefinitionType.FileShare:
56 return UtilSymbolDefinitions.FileShare;
57
58 case UtilSymbolDefinitionType.FileSharePermissions:
59 return UtilSymbolDefinitions.FileSharePermissions;
60
61 case UtilSymbolDefinitionType.Group:
62 return UtilSymbolDefinitions.Group;
63
64 case UtilSymbolDefinitionType.Perfmon:
65 return UtilSymbolDefinitions.Perfmon;
66
67 case UtilSymbolDefinitionType.PerfmonManifest:
68 return UtilSymbolDefinitions.PerfmonManifest;
69
70 case UtilSymbolDefinitionType.PerformanceCategory:
71 return UtilSymbolDefinitions.PerformanceCategory;
72
73 case UtilSymbolDefinitionType.SecureObjects:
74 return UtilSymbolDefinitions.SecureObjects;
75
76 case UtilSymbolDefinitionType.ServiceConfig:
77 return UtilSymbolDefinitions.ServiceConfig;
78
79 case UtilSymbolDefinitionType.User:
80 return UtilSymbolDefinitions.User;
81
82 case UtilSymbolDefinitionType.UserGroup:
83 return UtilSymbolDefinitions.UserGroup;
84
85 case UtilSymbolDefinitionType.WixCloseApplication:
86 return UtilSymbolDefinitions.WixCloseApplication;
87
88 case UtilSymbolDefinitionType.WixFormatFiles:
89 return UtilSymbolDefinitions.WixFormatFiles;
90
91 case UtilSymbolDefinitionType.WixInternetShortcut:
92 return UtilSymbolDefinitions.WixInternetShortcut;
93
94 case UtilSymbolDefinitionType.WixRemoveFolderEx:
95 return UtilSymbolDefinitions.WixRemoveFolderEx;
96
97 case UtilSymbolDefinitionType.WixRemoveRegistryKeyEx:
98 return UtilSymbolDefinitions.WixRemoveRegistryKeyEx;
99
100 case UtilSymbolDefinitionType.WixRestartResource:
101 return UtilSymbolDefinitions.WixRestartResource;
102
103 case UtilSymbolDefinitionType.WixTouchFile:
104 return UtilSymbolDefinitions.WixTouchFile;
105
106 case UtilSymbolDefinitionType.WixWindowsFeatureSearch:
107 return UtilSymbolDefinitions.WixWindowsFeatureSearch;
108
109 case UtilSymbolDefinitionType.XmlConfig:
110 return UtilSymbolDefinitions.XmlConfig;
111
112 case UtilSymbolDefinitionType.XmlFile:
113 return UtilSymbolDefinitions.XmlFile;
114
115 default:
116 throw new ArgumentOutOfRangeException(nameof(type));
117 }
118 }
119
120 static UtilSymbolDefinitions()
121 {
122 WixWindowsFeatureSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag);
123 }
124 }
125}