diff options
Diffstat (limited to 'src/wixext/Tuples/FirewallTupleDefinitions.cs')
-rw-r--r-- | src/wixext/Tuples/FirewallTupleDefinitions.cs | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/src/wixext/Tuples/FirewallTupleDefinitions.cs b/src/wixext/Tuples/FirewallTupleDefinitions.cs index df595c18..2710380e 100644 --- a/src/wixext/Tuples/FirewallTupleDefinitions.cs +++ b/src/wixext/Tuples/FirewallTupleDefinitions.cs | |||
@@ -1,30 +1,39 @@ | |||
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.Firewall.Tuples | 3 | namespace WixToolset.Firewall |
4 | { | 4 | { |
5 | using System; | ||
5 | using WixToolset.Data; | 6 | using WixToolset.Data; |
6 | 7 | ||
7 | public static class FirewallTupleDefinitionNames | 8 | public enum FirewallTupleDefinitionType |
8 | { | 9 | { |
9 | public static string WixFirewallException { get; } = "WixFirewallException"; | 10 | WixFirewallException, |
10 | } | 11 | } |
11 | 12 | ||
12 | public static partial class FirewallTupleDefinitions | 13 | public static partial class FirewallTupleDefinitions |
13 | { | 14 | { |
14 | public static readonly IntermediateTupleDefinition WixFirewallException = new IntermediateTupleDefinition( | 15 | public static readonly Version Version = new Version("4.0.0"); |
15 | FirewallTupleDefinitionNames.WixFirewallException, | 16 | |
16 | new[] | 17 | public static IntermediateTupleDefinition ByName(string name) |
18 | { | ||
19 | if (!Enum.TryParse(name, out FirewallTupleDefinitionType type)) | ||
17 | { | 20 | { |
18 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Name), IntermediateFieldType.String), | 21 | return null; |
19 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.RemoteAddresses), IntermediateFieldType.String), | 22 | } |
20 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Port), IntermediateFieldType.String), | 23 | |
21 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Protocol), IntermediateFieldType.Number), | 24 | return ByType(type); |
22 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Program), IntermediateFieldType.String), | 25 | } |
23 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Attributes), IntermediateFieldType.Number), | 26 | |
24 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Profile), IntermediateFieldType.Number), | 27 | public static IntermediateTupleDefinition ByType(FirewallTupleDefinitionType type) |
25 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.ComponentRef), IntermediateFieldType.String), | 28 | { |
26 | new IntermediateFieldDefinition(nameof(WixFirewallExceptionTupleFields.Description), IntermediateFieldType.String), | 29 | switch (type) |
27 | }, | 30 | { |
28 | typeof(WixFirewallExceptionTuple)); | 31 | case FirewallTupleDefinitionType.WixFirewallException: |
32 | return FirewallTupleDefinitions.WixFirewallException; | ||
33 | |||
34 | default: | ||
35 | throw new ArgumentOutOfRangeException(nameof(type)); | ||
36 | } | ||
37 | } | ||
29 | } | 38 | } |
30 | } | 39 | } |