aboutsummaryrefslogtreecommitdiff
path: root/src/wixext/Tuples/IisTupleDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/wixext/Tuples/IisTupleDefinitions.cs')
-rw-r--r--src/wixext/Tuples/IisTupleDefinitions.cs107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/wixext/Tuples/IisTupleDefinitions.cs b/src/wixext/Tuples/IisTupleDefinitions.cs
new file mode 100644
index 00000000..4017fa27
--- /dev/null
+++ b/src/wixext/Tuples/IisTupleDefinitions.cs
@@ -0,0 +1,107 @@
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.Iis
4{
5 using System;
6 using WixToolset.Data;
7
8 public enum IisTupleDefinitionType
9 {
10 Certificate,
11 CertificateHash,
12 IIsAppPool,
13 IIsFilter,
14 IIsHttpHeader,
15 IIsMimeMap,
16 IIsProperty,
17 IIsWebAddress,
18 IIsWebApplication,
19 IIsWebApplicationExtension,
20 IIsWebDir,
21 IIsWebDirProperties,
22 IIsWebError,
23 IIsWebLog,
24 IIsWebServiceExtension,
25 IIsWebSite,
26 IIsWebSiteCertificates,
27 IIsWebVirtualDir,
28 }
29
30 public static partial class IisTupleDefinitions
31 {
32 public static readonly Version Version = new Version("4.0.0");
33
34 public static IntermediateTupleDefinition ByName(string name)
35 {
36 if (!Enum.TryParse(name, out IisTupleDefinitionType type))
37 {
38 return null;
39 }
40
41 return ByType(type);
42 }
43
44 public static IntermediateTupleDefinition ByType(IisTupleDefinitionType type)
45 {
46 switch (type)
47 {
48 case IisTupleDefinitionType.Certificate:
49 return IisTupleDefinitions.Certificate;
50
51 case IisTupleDefinitionType.CertificateHash:
52 return IisTupleDefinitions.CertificateHash;
53
54 case IisTupleDefinitionType.IIsAppPool:
55 return IisTupleDefinitions.IIsAppPool;
56
57 case IisTupleDefinitionType.IIsFilter:
58 return IisTupleDefinitions.IIsFilter;
59
60 case IisTupleDefinitionType.IIsHttpHeader:
61 return IisTupleDefinitions.IIsHttpHeader;
62
63 case IisTupleDefinitionType.IIsMimeMap:
64 return IisTupleDefinitions.IIsMimeMap;
65
66 case IisTupleDefinitionType.IIsProperty:
67 return IisTupleDefinitions.IIsProperty;
68
69 case IisTupleDefinitionType.IIsWebAddress:
70 return IisTupleDefinitions.IIsWebAddress;
71
72 case IisTupleDefinitionType.IIsWebApplication:
73 return IisTupleDefinitions.IIsWebApplication;
74
75 case IisTupleDefinitionType.IIsWebApplicationExtension:
76 return IisTupleDefinitions.IIsWebApplicationExtension;
77
78 case IisTupleDefinitionType.IIsWebDir:
79 return IisTupleDefinitions.IIsWebDir;
80
81 case IisTupleDefinitionType.IIsWebDirProperties:
82 return IisTupleDefinitions.IIsWebDirProperties;
83
84 case IisTupleDefinitionType.IIsWebError:
85 return IisTupleDefinitions.IIsWebError;
86
87 case IisTupleDefinitionType.IIsWebLog:
88 return IisTupleDefinitions.IIsWebLog;
89
90 case IisTupleDefinitionType.IIsWebServiceExtension:
91 return IisTupleDefinitions.IIsWebServiceExtension;
92
93 case IisTupleDefinitionType.IIsWebSite:
94 return IisTupleDefinitions.IIsWebSite;
95
96 case IisTupleDefinitionType.IIsWebSiteCertificates:
97 return IisTupleDefinitions.IIsWebSiteCertificates;
98
99 case IisTupleDefinitionType.IIsWebVirtualDir:
100 return IisTupleDefinitions.IIsWebVirtualDir;
101
102 default:
103 throw new ArgumentOutOfRangeException(nameof(type));
104 }
105 }
106 }
107}