aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.cs')
-rw-r--r--src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.cs107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.cs b/src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.cs
new file mode 100644
index 00000000..d6ed80a2
--- /dev/null
+++ b/src/ext/Iis/wixext/Symbols/IisSymbolDefinitions.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 IisSymbolDefinitionType
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 IisSymbolDefinitions
31 {
32 public static readonly Version Version = new Version("4.0.0");
33
34 public static IntermediateSymbolDefinition ByName(string name)
35 {
36 if (!Enum.TryParse(name, out IisSymbolDefinitionType type))
37 {
38 return null;
39 }
40
41 return ByType(type);
42 }
43
44 public static IntermediateSymbolDefinition ByType(IisSymbolDefinitionType type)
45 {
46 switch (type)
47 {
48 case IisSymbolDefinitionType.Certificate:
49 return IisSymbolDefinitions.Certificate;
50
51 case IisSymbolDefinitionType.CertificateHash:
52 return IisSymbolDefinitions.CertificateHash;
53
54 case IisSymbolDefinitionType.IIsAppPool:
55 return IisSymbolDefinitions.IIsAppPool;
56
57 case IisSymbolDefinitionType.IIsFilter:
58 return IisSymbolDefinitions.IIsFilter;
59
60 case IisSymbolDefinitionType.IIsHttpHeader:
61 return IisSymbolDefinitions.IIsHttpHeader;
62
63 case IisSymbolDefinitionType.IIsMimeMap:
64 return IisSymbolDefinitions.IIsMimeMap;
65
66 case IisSymbolDefinitionType.IIsProperty:
67 return IisSymbolDefinitions.IIsProperty;
68
69 case IisSymbolDefinitionType.IIsWebAddress:
70 return IisSymbolDefinitions.IIsWebAddress;
71
72 case IisSymbolDefinitionType.IIsWebApplication:
73 return IisSymbolDefinitions.IIsWebApplication;
74
75 case IisSymbolDefinitionType.IIsWebApplicationExtension:
76 return IisSymbolDefinitions.IIsWebApplicationExtension;
77
78 case IisSymbolDefinitionType.IIsWebDir:
79 return IisSymbolDefinitions.IIsWebDir;
80
81 case IisSymbolDefinitionType.IIsWebDirProperties:
82 return IisSymbolDefinitions.IIsWebDirProperties;
83
84 case IisSymbolDefinitionType.IIsWebError:
85 return IisSymbolDefinitions.IIsWebError;
86
87 case IisSymbolDefinitionType.IIsWebLog:
88 return IisSymbolDefinitions.IIsWebLog;
89
90 case IisSymbolDefinitionType.IIsWebServiceExtension:
91 return IisSymbolDefinitions.IIsWebServiceExtension;
92
93 case IisSymbolDefinitionType.IIsWebSite:
94 return IisSymbolDefinitions.IIsWebSite;
95
96 case IisSymbolDefinitionType.IIsWebSiteCertificates:
97 return IisSymbolDefinitions.IIsWebSiteCertificates;
98
99 case IisSymbolDefinitionType.IIsWebVirtualDir:
100 return IisSymbolDefinitions.IIsWebVirtualDir;
101
102 default:
103 throw new ArgumentOutOfRangeException(nameof(type));
104 }
105 }
106 }
107}