diff options
Diffstat (limited to 'src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs')
-rw-r--r-- | src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs b/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs index 3c0f1176..862eba16 100644 --- a/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs +++ b/src/ext/NetFx/wixext/Symbols/NetfxSymbolDefinitions.cs | |||
@@ -1,26 +1,47 @@ | |||
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. | 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 | 2 | ||
3 | namespace WixToolset.Netfx.Symbols | 3 | namespace WixToolset.Netfx |
4 | { | 4 | { |
5 | using System; | ||
5 | using WixToolset.Data; | 6 | using WixToolset.Data; |
7 | using WixToolset.Data.Burn; | ||
6 | 8 | ||
7 | public static class NetfxSymbolDefinitionNames | 9 | public enum NetfxSymbolDefinitionType |
8 | { | 10 | { |
9 | public static string NetFxNativeImage { get; } = "NetFxNativeImage"; | 11 | NetFxNativeImage, |
12 | NetFxNetCoreSearch, | ||
10 | } | 13 | } |
11 | 14 | ||
12 | public static class NetfxSymbolDefinitions | 15 | public static partial class NetfxSymbolDefinitions |
13 | { | 16 | { |
14 | public static readonly IntermediateSymbolDefinition NetFxNativeImage = new IntermediateSymbolDefinition( | 17 | public static IntermediateSymbolDefinition ByName(string name) |
15 | NetfxSymbolDefinitionNames.NetFxNativeImage, | 18 | { |
16 | new[] | 19 | if (!Enum.TryParse(name, out NetfxSymbolDefinitionType type)) |
17 | { | 20 | { |
18 | new IntermediateFieldDefinition(nameof(NetFxNativeImageSymbolFields.FileRef), IntermediateFieldType.String), | 21 | return null; |
19 | new IntermediateFieldDefinition(nameof(NetFxNativeImageSymbolFields.Priority), IntermediateFieldType.Number), | 22 | } |
20 | new IntermediateFieldDefinition(nameof(NetFxNativeImageSymbolFields.Attributes), IntermediateFieldType.Number), | 23 | |
21 | new IntermediateFieldDefinition(nameof(NetFxNativeImageSymbolFields.ApplicationFileRef), IntermediateFieldType.String), | 24 | return ByType(type); |
22 | new IntermediateFieldDefinition(nameof(NetFxNativeImageSymbolFields.ApplicationBaseDirectoryRef), IntermediateFieldType.String), | 25 | } |
23 | }, | 26 | |
24 | typeof(NetFxNativeImageSymbol)); | 27 | public static IntermediateSymbolDefinition ByType(NetfxSymbolDefinitionType type) |
28 | { | ||
29 | switch (type) | ||
30 | { | ||
31 | case NetfxSymbolDefinitionType.NetFxNativeImage: | ||
32 | return NetfxSymbolDefinitions.NetFxNativeImage; | ||
33 | |||
34 | case NetfxSymbolDefinitionType.NetFxNetCoreSearch: | ||
35 | return NetfxSymbolDefinitions.NetFxNetCoreSearch; | ||
36 | |||
37 | default: | ||
38 | throw new ArgumentOutOfRangeException(nameof(type)); | ||
39 | } | ||
40 | } | ||
41 | |||
42 | static NetfxSymbolDefinitions() | ||
43 | { | ||
44 | NetFxNetCoreSearch.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); | ||
45 | } | ||
25 | } | 46 | } |
26 | } | 47 | } |