main
cs 105 lines 3.52 KB
Raw
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
3 namespace 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 IntermediateSymbolDefinition ByName(string name)
33 {
34 if (!Enum.TryParse(name, out IisSymbolDefinitionType type))
35 {
36 return null;
37 }
38
39 return ByType(type);
40 }
41
42 public static IntermediateSymbolDefinition ByType(IisSymbolDefinitionType type)
43 {
44 switch (type)
45 {
46 case IisSymbolDefinitionType.Certificate:
47 return IisSymbolDefinitions.Certificate;
48
49 case IisSymbolDefinitionType.CertificateHash:
50 return IisSymbolDefinitions.CertificateHash;
51
52 case IisSymbolDefinitionType.IIsAppPool:
53 return IisSymbolDefinitions.IIsAppPool;
54
55 case IisSymbolDefinitionType.IIsFilter:
56 return IisSymbolDefinitions.IIsFilter;
57
58 case IisSymbolDefinitionType.IIsHttpHeader:
59 return IisSymbolDefinitions.IIsHttpHeader;
60
61 case IisSymbolDefinitionType.IIsMimeMap:
62 return IisSymbolDefinitions.IIsMimeMap;
63
64 case IisSymbolDefinitionType.IIsProperty:
65 return IisSymbolDefinitions.IIsProperty;
66
67 case IisSymbolDefinitionType.IIsWebAddress:
68 return IisSymbolDefinitions.IIsWebAddress;
69
70 case IisSymbolDefinitionType.IIsWebApplication:
71 return IisSymbolDefinitions.IIsWebApplication;
72
73 case IisSymbolDefinitionType.IIsWebApplicationExtension:
74 return IisSymbolDefinitions.IIsWebApplicationExtension;
75
76 case IisSymbolDefinitionType.IIsWebDir:
77 return IisSymbolDefinitions.IIsWebDir;
78
79 case IisSymbolDefinitionType.IIsWebDirProperties:
80 return IisSymbolDefinitions.IIsWebDirProperties;
81
82 case IisSymbolDefinitionType.IIsWebError:
83 return IisSymbolDefinitions.IIsWebError;
84
85 case IisSymbolDefinitionType.IIsWebLog:
86 return IisSymbolDefinitions.IIsWebLog;
87
88 case IisSymbolDefinitionType.IIsWebServiceExtension:
89 return IisSymbolDefinitions.IIsWebServiceExtension;
90
91 case IisSymbolDefinitionType.IIsWebSite:
92 return IisSymbolDefinitions.IIsWebSite;
93
94 case IisSymbolDefinitionType.IIsWebSiteCertificates:
95 return IisSymbolDefinitions.IIsWebSiteCertificates;
96
97 case IisSymbolDefinitionType.IIsWebVirtualDir:
98 return IisSymbolDefinitions.IIsWebVirtualDir;
99
100 default:
101 throw new ArgumentOutOfRangeException(nameof(type));
102 }
103 }
104 }
105 }