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