aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/FirewallTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/FirewallTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/FirewallTupleDefinitions.cs43
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
3namespace WixToolset.Firewall.Tuples 3namespace 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}