Add messages, add tuple definitions, and fix test.
Sean Hall committed
Jan 6, 2019 at 20:09 UTC
3ff6c0bc2c613b7db6c2732661050c94d36eeb37
25 files changed
+1956
-40
src/test/WixToolsetTest.Iis/IisExtensionFixture.cs
+2
-2
@@ -11,7 +11,7 @@ namespace WixToolsetTest.Iis
11
public class IisExtensionFixture
12
{
13
[Fact]
14
- public void CanBuildUsingFileShare()
14
+ public void CanBuildUsingIIsWebAddress()
15
{
16
var folder = TestData.Get(@"TestData\UsingIis");
17
var build = new Builder(folder, typeof(IisExtensionFactory), new[] { folder });
@@ -19,7 +19,7 @@ namespace WixToolsetTest.Iis
19
var results = build.BuildAndQuery(Build, "IIsWebAddress");
20
Assert.Equal(new[]
21
{
22
- "IIsWebAddress:",
22
+ "IIsWebAddress:TestAddress\tTest\t\t[PORT]\t\t0",
23
}, results.OrderBy(s => s).ToArray());
24
}
25
src/test/WixToolsetTest.Iis/TestData/UsingIis/Package.wxs
+3
-1
@@ -15,7 +15,9 @@
15
<Fragment>
16
<Directory Id="TARGETDIR" Name="SourceDir">
17
<Directory Id="ProgramFilesFolder">
18
- <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
18
+ <Directory Id="INSTALLFOLDER" Name="MsiPackage">
19
+ <Directory Id="TestWebSiteProductDirectory" />
20
+ </Directory>
21
</Directory>
22
</Directory>
23
</Fragment>
src/test/WixToolsetTest.Iis/TestData/UsingIis/PackageComponents.wxs
+1
@@ -11,5 +11,6 @@
11
</iis:WebSite>
12
</Component>
13
</ComponentGroup>
14
+ <iis:WebDirProperties Id="ReadAndExecute" />
15
</Fragment>
16
</Wix>
src/wixext/IIsExtensionData.cs
+1
-1
@@ -18,7 +18,7 @@ namespace WixToolset.Iis
18
19
public override bool TryGetTupleDefinitionByName(string name, out IntermediateTupleDefinition tupleDefinition)
20
{
21
- tupleDefinition = null;
21
+ tupleDefinition = IisTupleDefinitions.ByName(name);
22
return tupleDefinition != null;
23
}
24
src/wixext/IisErrors.cs
+62
-36
@@ -1,70 +1,96 @@
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
3
+namespace WixToolset.Data
4
{
5
using System;
6
- using WixToolset.Data;
7
-
6
+ using System.Resources;
7
+
8
public static class IIsErrors
9
{
10
- public static Message MimeMapExtensionMissingPeriod(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue)
10
+ public static Message CannotHarvestWebSite()
11
+ {
12
+ return Message(null, Ids.CannotHarvestWebSite, "Cannot harvest website. On Windows Vista, you must install IIS 6 Management Compatibility.");
13
+ }
14
+
15
+ public static Message DeprecatedBinaryChildElement(SourceLineNumber sourceLineNumbers, string elementName)
16
{
12
- throw new NotImplementedException();
17
+ return Message(sourceLineNumbers, Ids.DeprecatedBinaryChildElement, "The {0} element contains a deprecated child Binary element. Please move the Binary element under a Fragment, Module, or Product element and set the {0}/@BinaryKey attribute to the value of the Binary/@Id attribute.", elementName);
18
}
14
-
19
+
20
public static Message IllegalAttributeWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName)
21
{
17
- throw new NotImplementedException();
22
+ return Message(sourceLineNumbers, Ids.IllegalAttributeWithoutComponent, "The {0}/@{1} attribute cannot be specified unless the element has a Component as an ancestor. A {0} that does not have a Component ancestor is not installed.", elementName, attributeName);
23
}
19
-
24
+
25
+ public static Message IllegalCharacterInAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, Char illegalCharacter)
26
+ {
27
+ return Message(sourceLineNumbers, Ids.IllegalCharacterInAttributeValue, "The {0}/@{1} attribute's value, '{2}', is invalid. It cannot contain the character '{3}'.", elementName, attributeName, value, illegalCharacter);
28
+ }
29
+
30
public static Message IllegalElementWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName)
31
{
22
- throw new NotImplementedException();
32
+ return Message(sourceLineNumbers, Ids.IllegalElementWithoutComponent, "The {0} element cannot be specified unless the element has a Component as an ancestor. A {0} that does not have a Component ancestor is not installed.", elementName);
33
}
24
-
25
- public static Message OneOfAttributesRequiredUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4)
34
+
35
+ public static Message InsufficientPermissionHarvestWebSite()
36
{
27
- throw new NotImplementedException();
37
+ return Message(null, Ids.InsufficientPermissionHarvestWebSite, "Not enough permissions to harvest website. On Windows Vista, you must run Heat elevated.");
38
}
29
-
30
- public static Message WebSiteAttributeUnderWebSite(SourceLineNumber sourceLineNumbers, string elementName)
39
+
40
+ public static Message MimeMapExtensionMissingPeriod(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue)
41
{
32
- throw new NotImplementedException();
42
+ return Message(sourceLineNumbers, Ids.MimeMapExtensionMissingPeriod, "The {0}/@{1} attribute's value, '{2}', is not a valid mime map extension. It must begin with a period.", elementName, attributeName, attributeValue);
43
}
34
-
35
- public static Message WebApplicationAlreadySpecified(SourceLineNumber sourceLineNumbers, string elementName)
44
+
45
+ public static Message OneOfAttributesRequiredUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4)
46
{
37
- throw new NotImplementedException();
47
+ return Message(sourceLineNumbers, Ids.OneOfAttributesRequiredUnderComponent, "When nested under a Component, the {0} element must have one of the following attributes specified: {1}, {2}, {3} or {4}.", elementName, attributeName1, attributeName2, attributeName3, attributeName4);
48
}
39
-
40
- public static Message IllegalCharacterInAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, char illegalCharacter)
49
+
50
+ public static Message RequiredAttributeUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName)
51
{
42
- throw new NotImplementedException();
52
+ return Message(sourceLineNumbers, Ids.RequiredAttributeUnderComponent, "The {0}/@{1} attribute must be specified when the element has a Component as an ancestor.", elementName, attributeName);
53
}
44
-
45
- public static Message DeprecatedBinaryChildElement(SourceLineNumber sourceLineNumbers, string elementName)
54
+
55
+ public static Message WebApplicationAlreadySpecified(SourceLineNumber sourceLineNumbers, string elementName)
56
+ {
57
+ return Message(sourceLineNumbers, Ids.WebApplicationAlreadySpecified, "The {0} element can have at most a single WebApplication specified. This can be either through the WebApplication attribute, or through a nested WebApplication element, but not both.", elementName);
58
+ }
59
+
60
+ public static Message WebSiteAttributeUnderWebSite(SourceLineNumber sourceLineNumbers, string elementName)
61
{
47
- throw new NotImplementedException();
62
+ return Message(sourceLineNumbers, Ids.WebSiteAttributeUnderWebSite, "The {0}/@WebSite attribute cannot be specified when the {0} element is nested under a WebSite element.", elementName);
63
}
49
-
64
+
65
public static Message WebSiteNotFound(string webSiteDescription)
66
{
52
- throw new NotImplementedException();
67
+ return Message(null, Ids.WebSiteNotFound, "The web site '{0}' could not be found. Please check that the web site exists, and that it is spelled correctly (please note, you must use the correct case).", webSiteDescription);
68
}
54
-
55
- public static Message InsufficientPermissionHarvestWebSite()
69
+
70
+ private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)
71
{
57
- throw new NotImplementedException();
72
+ return new Message(sourceLineNumber, MessageLevel.Error, (int)id, format, args);
73
}
59
-
60
- public static Message CannotHarvestWebSite()
74
+
75
+ private static Message Message(SourceLineNumber sourceLineNumber, Ids id, ResourceManager resourceManager, string resourceName, params object[] args)
76
{
62
- throw new NotImplementedException();
77
+ return new Message(sourceLineNumber, MessageLevel.Error, (int)id, resourceManager, resourceName, args);
78
}
64
-
65
- public static Message RequiredAttributeUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName)
79
+
80
+ public enum Ids
81
{
67
- throw new NotImplementedException();
82
+ MimeMapExtensionMissingPeriod = 5150,
83
+ IllegalAttributeWithoutComponent = 5151,
84
+ IllegalElementWithoutComponent = 5152,
85
+ OneOfAttributesRequiredUnderComponent = 5153,
86
+ WebSiteAttributeUnderWebSite = 5154,
87
+ WebApplicationAlreadySpecified = 5155,
88
+ IllegalCharacterInAttributeValue = 5156,
89
+ DeprecatedBinaryChildElement = 5157,
90
+ WebSiteNotFound = 5158,
91
+ InsufficientPermissionHarvestWebSite = 5159,
92
+ CannotHarvestWebSite = 5160,
93
+ RequiredAttributeUnderComponent = 5161,
94
}
95
}
70
-}
\ No newline at end of file
96
+}
src/wixext/IisWarnings.cs
new
+30
@@ -0,0 +1,30 @@
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.Data
4
+{
5
+ using System;
6
+ using System.Resources;
7
+
8
+ public static class IIsWarnings
9
+ {
10
+ public static Message EncounteredNullDirectoryForWebSite(string directory)
11
+ {
12
+ return Message(null, Ids.EncounteredNullDirectoryForWebSite, "Could not harvest website directory: {0}. Please update the output with the appropriate directory ID before using.", directory);
13
+ }
14
+
15
+ private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)
16
+ {
17
+ return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, format, args);
18
+ }
19
+
20
+ private static Message Message(SourceLineNumber sourceLineNumber, Ids id, ResourceManager resourceManager, string resourceName, params object[] args)
21
+ {
22
+ return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, resourceManager, resourceName, args);
23
+ }
24
+
25
+ public enum Ids
26
+ {
27
+ EncounteredNullDirectoryForWebSite = 5400,
28
+ }
29
+ }
30
+}
src/wixext/Tuples/CertificateHashTuple.cs
new
+55
@@ -0,0 +1,55 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition CertificateHash = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.CertificateHash.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Certificate_), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Hash), IntermediateFieldType.String),
16
+ },
17
+ typeof(CertificateHashTuple));
18
+ }
19
+}
20
+
21
+namespace WixToolset.Iis.Tuples
22
+{
23
+ using WixToolset.Data;
24
+
25
+ public enum CertificateHashTupleFields
26
+ {
27
+ Certificate_,
28
+ Hash,
29
+ }
30
+
31
+ public class CertificateHashTuple : IntermediateTuple
32
+ {
33
+ public CertificateHashTuple() : base(IisTupleDefinitions.CertificateHash, null, null)
34
+ {
35
+ }
36
+
37
+ public CertificateHashTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.CertificateHash, sourceLineNumber, id)
38
+ {
39
+ }
40
+
41
+ public IntermediateField this[CertificateHashTupleFields index] => this.Fields[(int)index];
42
+
43
+ public string Certificate_
44
+ {
45
+ get => this.Fields[(int)CertificateHashTupleFields.Certificate_].AsString();
46
+ set => this.Set((int)CertificateHashTupleFields.Certificate_, value);
47
+ }
48
+
49
+ public string Hash
50
+ {
51
+ get => this.Fields[(int)CertificateHashTupleFields.Hash].AsString();
52
+ set => this.Set((int)CertificateHashTupleFields.Hash, value);
53
+ }
54
+ }
55
+}
\ No newline at end of file
src/wixext/Tuples/CertificateTuple.cs
new
+111
@@ -0,0 +1,111 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition Certificate = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.Certificate.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.Certificate), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.Name), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreLocation), IntermediateFieldType.Number),
18
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreName), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.Attributes), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.Binary_), IntermediateFieldType.String),
21
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.CertificatePath), IntermediateFieldType.String),
22
+ new IntermediateFieldDefinition(nameof(CertificateTupleFields.PFXPassword), IntermediateFieldType.String),
23
+ },
24
+ typeof(CertificateTuple));
25
+ }
26
+}
27
+
28
+namespace WixToolset.Iis.Tuples
29
+{
30
+ using WixToolset.Data;
31
+
32
+ public enum CertificateTupleFields
33
+ {
34
+ Certificate,
35
+ Component_,
36
+ Name,
37
+ StoreLocation,
38
+ StoreName,
39
+ Attributes,
40
+ Binary_,
41
+ CertificatePath,
42
+ PFXPassword,
43
+ }
44
+
45
+ public class CertificateTuple : IntermediateTuple
46
+ {
47
+ public CertificateTuple() : base(IisTupleDefinitions.Certificate, null, null)
48
+ {
49
+ }
50
+
51
+ public CertificateTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.Certificate, sourceLineNumber, id)
52
+ {
53
+ }
54
+
55
+ public IntermediateField this[CertificateTupleFields index] => this.Fields[(int)index];
56
+
57
+ public string Certificate
58
+ {
59
+ get => this.Fields[(int)CertificateTupleFields.Certificate].AsString();
60
+ set => this.Set((int)CertificateTupleFields.Certificate, value);
61
+ }
62
+
63
+ public string Component_
64
+ {
65
+ get => this.Fields[(int)CertificateTupleFields.Component_].AsString();
66
+ set => this.Set((int)CertificateTupleFields.Component_, value);
67
+ }
68
+
69
+ public string Name
70
+ {
71
+ get => this.Fields[(int)CertificateTupleFields.Name].AsString();
72
+ set => this.Set((int)CertificateTupleFields.Name, value);
73
+ }
74
+
75
+ public int StoreLocation
76
+ {
77
+ get => this.Fields[(int)CertificateTupleFields.StoreLocation].AsNumber();
78
+ set => this.Set((int)CertificateTupleFields.StoreLocation, value);
79
+ }
80
+
81
+ public string StoreName
82
+ {
83
+ get => this.Fields[(int)CertificateTupleFields.StoreName].AsString();
84
+ set => this.Set((int)CertificateTupleFields.StoreName, value);
85
+ }
86
+
87
+ public int Attributes
88
+ {
89
+ get => this.Fields[(int)CertificateTupleFields.Attributes].AsNumber();
90
+ set => this.Set((int)CertificateTupleFields.Attributes, value);
91
+ }
92
+
93
+ public string Binary_
94
+ {
95
+ get => this.Fields[(int)CertificateTupleFields.Binary_].AsString();
96
+ set => this.Set((int)CertificateTupleFields.Binary_, value);
97
+ }
98
+
99
+ public string CertificatePath
100
+ {
101
+ get => this.Fields[(int)CertificateTupleFields.CertificatePath].AsString();
102
+ set => this.Set((int)CertificateTupleFields.CertificatePath, value);
103
+ }
104
+
105
+ public string PFXPassword
106
+ {
107
+ get => this.Fields[(int)CertificateTupleFields.PFXPassword].AsString();
108
+ set => this.Set((int)CertificateTupleFields.PFXPassword, value);
109
+ }
110
+ }
111
+}
\ No newline at end of file
src/wixext/Tuples/IIsAppPoolTuple.cs
new
+167
@@ -0,0 +1,167 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsAppPool = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsAppPool.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.AppPool), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Name), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Component_), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Attributes), IntermediateFieldType.Number),
18
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.User_), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleMinutes), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleRequests), IntermediateFieldType.Number),
21
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleTimes), IntermediateFieldType.String),
22
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.IdleTimeout), IntermediateFieldType.Number),
23
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.QueueLimit), IntermediateFieldType.Number),
24
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.CPUMon), IntermediateFieldType.String),
25
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.MaxProc), IntermediateFieldType.Number),
26
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.VirtualMemory), IntermediateFieldType.Number),
27
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.PrivateMemory), IntermediateFieldType.Number),
28
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.ManagedRuntimeVersion), IntermediateFieldType.String),
29
+ new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.ManagedPipelineMode), IntermediateFieldType.String),
30
+ },
31
+ typeof(IIsAppPoolTuple));
32
+ }
33
+}
34
+
35
+namespace WixToolset.Iis.Tuples
36
+{
37
+ using WixToolset.Data;
38
+
39
+ public enum IIsAppPoolTupleFields
40
+ {
41
+ AppPool,
42
+ Name,
43
+ Component_,
44
+ Attributes,
45
+ User_,
46
+ RecycleMinutes,
47
+ RecycleRequests,
48
+ RecycleTimes,
49
+ IdleTimeout,
50
+ QueueLimit,
51
+ CPUMon,
52
+ MaxProc,
53
+ VirtualMemory,
54
+ PrivateMemory,
55
+ ManagedRuntimeVersion,
56
+ ManagedPipelineMode,
57
+ }
58
+
59
+ public class IIsAppPoolTuple : IntermediateTuple
60
+ {
61
+ public IIsAppPoolTuple() : base(IisTupleDefinitions.IIsAppPool, null, null)
62
+ {
63
+ }
64
+
65
+ public IIsAppPoolTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsAppPool, sourceLineNumber, id)
66
+ {
67
+ }
68
+
69
+ public IntermediateField this[IIsAppPoolTupleFields index] => this.Fields[(int)index];
70
+
71
+ public string AppPool
72
+ {
73
+ get => this.Fields[(int)IIsAppPoolTupleFields.AppPool].AsString();
74
+ set => this.Set((int)IIsAppPoolTupleFields.AppPool, value);
75
+ }
76
+
77
+ public string Name
78
+ {
79
+ get => this.Fields[(int)IIsAppPoolTupleFields.Name].AsString();
80
+ set => this.Set((int)IIsAppPoolTupleFields.Name, value);
81
+ }
82
+
83
+ public string Component_
84
+ {
85
+ get => this.Fields[(int)IIsAppPoolTupleFields.Component_].AsString();
86
+ set => this.Set((int)IIsAppPoolTupleFields.Component_, value);
87
+ }
88
+
89
+ public int Attributes
90
+ {
91
+ get => this.Fields[(int)IIsAppPoolTupleFields.Attributes].AsNumber();
92
+ set => this.Set((int)IIsAppPoolTupleFields.Attributes, value);
93
+ }
94
+
95
+ public string User_
96
+ {
97
+ get => this.Fields[(int)IIsAppPoolTupleFields.User_].AsString();
98
+ set => this.Set((int)IIsAppPoolTupleFields.User_, value);
99
+ }
100
+
101
+ public int RecycleMinutes
102
+ {
103
+ get => this.Fields[(int)IIsAppPoolTupleFields.RecycleMinutes].AsNumber();
104
+ set => this.Set((int)IIsAppPoolTupleFields.RecycleMinutes, value);
105
+ }
106
+
107
+ public int RecycleRequests
108
+ {
109
+ get => this.Fields[(int)IIsAppPoolTupleFields.RecycleRequests].AsNumber();
110
+ set => this.Set((int)IIsAppPoolTupleFields.RecycleRequests, value);
111
+ }
112
+
113
+ public string RecycleTimes
114
+ {
115
+ get => this.Fields[(int)IIsAppPoolTupleFields.RecycleTimes].AsString();
116
+ set => this.Set((int)IIsAppPoolTupleFields.RecycleTimes, value);
117
+ }
118
+
119
+ public int IdleTimeout
120
+ {
121
+ get => this.Fields[(int)IIsAppPoolTupleFields.IdleTimeout].AsNumber();
122
+ set => this.Set((int)IIsAppPoolTupleFields.IdleTimeout, value);
123
+ }
124
+
125
+ public int QueueLimit
126
+ {
127
+ get => this.Fields[(int)IIsAppPoolTupleFields.QueueLimit].AsNumber();
128
+ set => this.Set((int)IIsAppPoolTupleFields.QueueLimit, value);
129
+ }
130
+
131
+ public string CPUMon
132
+ {
133
+ get => this.Fields[(int)IIsAppPoolTupleFields.CPUMon].AsString();
134
+ set => this.Set((int)IIsAppPoolTupleFields.CPUMon, value);
135
+ }
136
+
137
+ public int MaxProc
138
+ {
139
+ get => this.Fields[(int)IIsAppPoolTupleFields.MaxProc].AsNumber();
140
+ set => this.Set((int)IIsAppPoolTupleFields.MaxProc, value);
141
+ }
142
+
143
+ public int VirtualMemory
144
+ {
145
+ get => this.Fields[(int)IIsAppPoolTupleFields.VirtualMemory].AsNumber();
146
+ set => this.Set((int)IIsAppPoolTupleFields.VirtualMemory, value);
147
+ }
148
+
149
+ public int PrivateMemory
150
+ {
151
+ get => this.Fields[(int)IIsAppPoolTupleFields.PrivateMemory].AsNumber();
152
+ set => this.Set((int)IIsAppPoolTupleFields.PrivateMemory, value);
153
+ }
154
+
155
+ public string ManagedRuntimeVersion
156
+ {
157
+ get => this.Fields[(int)IIsAppPoolTupleFields.ManagedRuntimeVersion].AsString();
158
+ set => this.Set((int)IIsAppPoolTupleFields.ManagedRuntimeVersion, value);
159
+ }
160
+
161
+ public string ManagedPipelineMode
162
+ {
163
+ get => this.Fields[(int)IIsAppPoolTupleFields.ManagedPipelineMode].AsString();
164
+ set => this.Set((int)IIsAppPoolTupleFields.ManagedPipelineMode, value);
165
+ }
166
+ }
167
+}
\ No newline at end of file
src/wixext/Tuples/IIsFilterTuple.cs
new
+103
@@ -0,0 +1,103 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsFilter = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsFilter.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Filter), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Name), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Component_), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Path), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Web_), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Description), IntermediateFieldType.String),
20
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Flags), IntermediateFieldType.Number),
21
+ new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.LoadOrder), IntermediateFieldType.Number),
22
+ },
23
+ typeof(IIsFilterTuple));
24
+ }
25
+}
26
+
27
+namespace WixToolset.Iis.Tuples
28
+{
29
+ using WixToolset.Data;
30
+
31
+ public enum IIsFilterTupleFields
32
+ {
33
+ Filter,
34
+ Name,
35
+ Component_,
36
+ Path,
37
+ Web_,
38
+ Description,
39
+ Flags,
40
+ LoadOrder,
41
+ }
42
+
43
+ public class IIsFilterTuple : IntermediateTuple
44
+ {
45
+ public IIsFilterTuple() : base(IisTupleDefinitions.IIsFilter, null, null)
46
+ {
47
+ }
48
+
49
+ public IIsFilterTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsFilter, sourceLineNumber, id)
50
+ {
51
+ }
52
+
53
+ public IntermediateField this[IIsFilterTupleFields index] => this.Fields[(int)index];
54
+
55
+ public string Filter
56
+ {
57
+ get => this.Fields[(int)IIsFilterTupleFields.Filter].AsString();
58
+ set => this.Set((int)IIsFilterTupleFields.Filter, value);
59
+ }
60
+
61
+ public string Name
62
+ {
63
+ get => this.Fields[(int)IIsFilterTupleFields.Name].AsString();
64
+ set => this.Set((int)IIsFilterTupleFields.Name, value);
65
+ }
66
+
67
+ public string Component_
68
+ {
69
+ get => this.Fields[(int)IIsFilterTupleFields.Component_].AsString();
70
+ set => this.Set((int)IIsFilterTupleFields.Component_, value);
71
+ }
72
+
73
+ public string Path
74
+ {
75
+ get => this.Fields[(int)IIsFilterTupleFields.Path].AsString();
76
+ set => this.Set((int)IIsFilterTupleFields.Path, value);
77
+ }
78
+
79
+ public string Web_
80
+ {
81
+ get => this.Fields[(int)IIsFilterTupleFields.Web_].AsString();
82
+ set => this.Set((int)IIsFilterTupleFields.Web_, value);
83
+ }
84
+
85
+ public string Description
86
+ {
87
+ get => this.Fields[(int)IIsFilterTupleFields.Description].AsString();
88
+ set => this.Set((int)IIsFilterTupleFields.Description, value);
89
+ }
90
+
91
+ public int Flags
92
+ {
93
+ get => this.Fields[(int)IIsFilterTupleFields.Flags].AsNumber();
94
+ set => this.Set((int)IIsFilterTupleFields.Flags, value);
95
+ }
96
+
97
+ public int LoadOrder
98
+ {
99
+ get => this.Fields[(int)IIsFilterTupleFields.LoadOrder].AsNumber();
100
+ set => this.Set((int)IIsFilterTupleFields.LoadOrder, value);
101
+ }
102
+ }
103
+}
\ No newline at end of file
src/wixext/Tuples/IIsHttpHeaderTuple.cs
new
+95
@@ -0,0 +1,95 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsHttpHeader = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsHttpHeader.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.HttpHeader), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.ParentType), IntermediateFieldType.Number),
16
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.ParentValue), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Name), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Value), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Attributes), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Sequence), IntermediateFieldType.Number),
21
+ },
22
+ typeof(IIsHttpHeaderTuple));
23
+ }
24
+}
25
+
26
+namespace WixToolset.Iis.Tuples
27
+{
28
+ using WixToolset.Data;
29
+
30
+ public enum IIsHttpHeaderTupleFields
31
+ {
32
+ HttpHeader,
33
+ ParentType,
34
+ ParentValue,
35
+ Name,
36
+ Value,
37
+ Attributes,
38
+ Sequence,
39
+ }
40
+
41
+ public class IIsHttpHeaderTuple : IntermediateTuple
42
+ {
43
+ public IIsHttpHeaderTuple() : base(IisTupleDefinitions.IIsHttpHeader, null, null)
44
+ {
45
+ }
46
+
47
+ public IIsHttpHeaderTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsHttpHeader, sourceLineNumber, id)
48
+ {
49
+ }
50
+
51
+ public IntermediateField this[IIsHttpHeaderTupleFields index] => this.Fields[(int)index];
52
+
53
+ public string HttpHeader
54
+ {
55
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.HttpHeader].AsString();
56
+ set => this.Set((int)IIsHttpHeaderTupleFields.HttpHeader, value);
57
+ }
58
+
59
+ public int ParentType
60
+ {
61
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.ParentType].AsNumber();
62
+ set => this.Set((int)IIsHttpHeaderTupleFields.ParentType, value);
63
+ }
64
+
65
+ public string ParentValue
66
+ {
67
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.ParentValue].AsString();
68
+ set => this.Set((int)IIsHttpHeaderTupleFields.ParentValue, value);
69
+ }
70
+
71
+ public string Name
72
+ {
73
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.Name].AsString();
74
+ set => this.Set((int)IIsHttpHeaderTupleFields.Name, value);
75
+ }
76
+
77
+ public string Value
78
+ {
79
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.Value].AsString();
80
+ set => this.Set((int)IIsHttpHeaderTupleFields.Value, value);
81
+ }
82
+
83
+ public int Attributes
84
+ {
85
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.Attributes].AsNumber();
86
+ set => this.Set((int)IIsHttpHeaderTupleFields.Attributes, value);
87
+ }
88
+
89
+ public int Sequence
90
+ {
91
+ get => this.Fields[(int)IIsHttpHeaderTupleFields.Sequence].AsNumber();
92
+ set => this.Set((int)IIsHttpHeaderTupleFields.Sequence, value);
93
+ }
94
+ }
95
+}
\ No newline at end of file
src/wixext/Tuples/IIsMimeMapTuple.cs
new
+79
@@ -0,0 +1,79 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsMimeMap = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsMimeMap.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeMap), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentType), IntermediateFieldType.Number),
16
+ new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentValue), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeType), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.Extension), IntermediateFieldType.String),
19
+ },
20
+ typeof(IIsMimeMapTuple));
21
+ }
22
+}
23
+
24
+namespace WixToolset.Iis.Tuples
25
+{
26
+ using WixToolset.Data;
27
+
28
+ public enum IIsMimeMapTupleFields
29
+ {
30
+ MimeMap,
31
+ ParentType,
32
+ ParentValue,
33
+ MimeType,
34
+ Extension,
35
+ }
36
+
37
+ public class IIsMimeMapTuple : IntermediateTuple
38
+ {
39
+ public IIsMimeMapTuple() : base(IisTupleDefinitions.IIsMimeMap, null, null)
40
+ {
41
+ }
42
+
43
+ public IIsMimeMapTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsMimeMap, sourceLineNumber, id)
44
+ {
45
+ }
46
+
47
+ public IntermediateField this[IIsMimeMapTupleFields index] => this.Fields[(int)index];
48
+
49
+ public string MimeMap
50
+ {
51
+ get => this.Fields[(int)IIsMimeMapTupleFields.MimeMap].AsString();
52
+ set => this.Set((int)IIsMimeMapTupleFields.MimeMap, value);
53
+ }
54
+
55
+ public int ParentType
56
+ {
57
+ get => this.Fields[(int)IIsMimeMapTupleFields.ParentType].AsNumber();
58
+ set => this.Set((int)IIsMimeMapTupleFields.ParentType, value);
59
+ }
60
+
61
+ public string ParentValue
62
+ {
63
+ get => this.Fields[(int)IIsMimeMapTupleFields.ParentValue].AsString();
64
+ set => this.Set((int)IIsMimeMapTupleFields.ParentValue, value);
65
+ }
66
+
67
+ public string MimeType
68
+ {
69
+ get => this.Fields[(int)IIsMimeMapTupleFields.MimeType].AsString();
70
+ set => this.Set((int)IIsMimeMapTupleFields.MimeType, value);
71
+ }
72
+
73
+ public string Extension
74
+ {
75
+ get => this.Fields[(int)IIsMimeMapTupleFields.Extension].AsString();
76
+ set => this.Set((int)IIsMimeMapTupleFields.Extension, value);
77
+ }
78
+ }
79
+}
\ No newline at end of file
src/wixext/Tuples/IIsPropertyTuple.cs
new
+71
@@ -0,0 +1,71 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsProperty = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsProperty.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Property), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Attributes), IntermediateFieldType.Number),
17
+ new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Value), IntermediateFieldType.String),
18
+ },
19
+ typeof(IIsPropertyTuple));
20
+ }
21
+}
22
+
23
+namespace WixToolset.Iis.Tuples
24
+{
25
+ using WixToolset.Data;
26
+
27
+ public enum IIsPropertyTupleFields
28
+ {
29
+ Property,
30
+ Component_,
31
+ Attributes,
32
+ Value,
33
+ }
34
+
35
+ public class IIsPropertyTuple : IntermediateTuple
36
+ {
37
+ public IIsPropertyTuple() : base(IisTupleDefinitions.IIsProperty, null, null)
38
+ {
39
+ }
40
+
41
+ public IIsPropertyTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsProperty, sourceLineNumber, id)
42
+ {
43
+ }
44
+
45
+ public IntermediateField this[IIsPropertyTupleFields index] => this.Fields[(int)index];
46
+
47
+ public string Property
48
+ {
49
+ get => this.Fields[(int)IIsPropertyTupleFields.Property].AsString();
50
+ set => this.Set((int)IIsPropertyTupleFields.Property, value);
51
+ }
52
+
53
+ public string Component_
54
+ {
55
+ get => this.Fields[(int)IIsPropertyTupleFields.Component_].AsString();
56
+ set => this.Set((int)IIsPropertyTupleFields.Component_, value);
57
+ }
58
+
59
+ public int Attributes
60
+ {
61
+ get => this.Fields[(int)IIsPropertyTupleFields.Attributes].AsNumber();
62
+ set => this.Set((int)IIsPropertyTupleFields.Attributes, value);
63
+ }
64
+
65
+ public string Value
66
+ {
67
+ get => this.Fields[(int)IIsPropertyTupleFields.Value].AsString();
68
+ set => this.Set((int)IIsPropertyTupleFields.Value, value);
69
+ }
70
+ }
71
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebAddressTuple.cs
new
+87
@@ -0,0 +1,87 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebAddress = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebAddress.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Address), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Web_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.IP), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Port), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Header), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Secure), IntermediateFieldType.Number),
20
+ },
21
+ typeof(IIsWebAddressTuple));
22
+ }
23
+}
24
+
25
+namespace WixToolset.Iis.Tuples
26
+{
27
+ using WixToolset.Data;
28
+
29
+ public enum IIsWebAddressTupleFields
30
+ {
31
+ Address,
32
+ Web_,
33
+ IP,
34
+ Port,
35
+ Header,
36
+ Secure,
37
+ }
38
+
39
+ public class IIsWebAddressTuple : IntermediateTuple
40
+ {
41
+ public IIsWebAddressTuple() : base(IisTupleDefinitions.IIsWebAddress, null, null)
42
+ {
43
+ }
44
+
45
+ public IIsWebAddressTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebAddress, sourceLineNumber, id)
46
+ {
47
+ }
48
+
49
+ public IntermediateField this[IIsWebAddressTupleFields index] => this.Fields[(int)index];
50
+
51
+ public string Address
52
+ {
53
+ get => this.Fields[(int)IIsWebAddressTupleFields.Address].AsString();
54
+ set => this.Set((int)IIsWebAddressTupleFields.Address, value);
55
+ }
56
+
57
+ public string Web_
58
+ {
59
+ get => this.Fields[(int)IIsWebAddressTupleFields.Web_].AsString();
60
+ set => this.Set((int)IIsWebAddressTupleFields.Web_, value);
61
+ }
62
+
63
+ public string IP
64
+ {
65
+ get => this.Fields[(int)IIsWebAddressTupleFields.IP].AsString();
66
+ set => this.Set((int)IIsWebAddressTupleFields.IP, value);
67
+ }
68
+
69
+ public string Port
70
+ {
71
+ get => this.Fields[(int)IIsWebAddressTupleFields.Port].AsString();
72
+ set => this.Set((int)IIsWebAddressTupleFields.Port, value);
73
+ }
74
+
75
+ public string Header
76
+ {
77
+ get => this.Fields[(int)IIsWebAddressTupleFields.Header].AsString();
78
+ set => this.Set((int)IIsWebAddressTupleFields.Header, value);
79
+ }
80
+
81
+ public int Secure
82
+ {
83
+ get => this.Fields[(int)IIsWebAddressTupleFields.Secure].AsNumber();
84
+ set => this.Set((int)IIsWebAddressTupleFields.Secure, value);
85
+ }
86
+ }
87
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs
new
+79
@@ -0,0 +1,79 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebApplicationExtension = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebApplicationExtension.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Application_), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Extension), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Verbs), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Executable), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Attributes), IntermediateFieldType.Number),
19
+ },
20
+ typeof(IIsWebApplicationExtensionTuple));
21
+ }
22
+}
23
+
24
+namespace WixToolset.Iis.Tuples
25
+{
26
+ using WixToolset.Data;
27
+
28
+ public enum IIsWebApplicationExtensionTupleFields
29
+ {
30
+ Application_,
31
+ Extension,
32
+ Verbs,
33
+ Executable,
34
+ Attributes,
35
+ }
36
+
37
+ public class IIsWebApplicationExtensionTuple : IntermediateTuple
38
+ {
39
+ public IIsWebApplicationExtensionTuple() : base(IisTupleDefinitions.IIsWebApplicationExtension, null, null)
40
+ {
41
+ }
42
+
43
+ public IIsWebApplicationExtensionTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebApplicationExtension, sourceLineNumber, id)
44
+ {
45
+ }
46
+
47
+ public IntermediateField this[IIsWebApplicationExtensionTupleFields index] => this.Fields[(int)index];
48
+
49
+ public string Application_
50
+ {
51
+ get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Application_].AsString();
52
+ set => this.Set((int)IIsWebApplicationExtensionTupleFields.Application_, value);
53
+ }
54
+
55
+ public string Extension
56
+ {
57
+ get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Extension].AsString();
58
+ set => this.Set((int)IIsWebApplicationExtensionTupleFields.Extension, value);
59
+ }
60
+
61
+ public string Verbs
62
+ {
63
+ get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Verbs].AsString();
64
+ set => this.Set((int)IIsWebApplicationExtensionTupleFields.Verbs, value);
65
+ }
66
+
67
+ public string Executable
68
+ {
69
+ get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Executable].AsString();
70
+ set => this.Set((int)IIsWebApplicationExtensionTupleFields.Executable, value);
71
+ }
72
+
73
+ public int Attributes
74
+ {
75
+ get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Attributes].AsNumber();
76
+ set => this.Set((int)IIsWebApplicationExtensionTupleFields.Attributes, value);
77
+ }
78
+ }
79
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebApplicationTuple.cs
new
+135
@@ -0,0 +1,135 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebApplication = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebApplication.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Application), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Name), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Isolation), IntermediateFieldType.Number),
17
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AllowSessions), IntermediateFieldType.Number),
18
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.SessionTimeout), IntermediateFieldType.Number),
19
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Buffer), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ParentPaths), IntermediateFieldType.Number),
21
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.DefaultScript), IntermediateFieldType.String),
22
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ScriptTimeout), IntermediateFieldType.Number),
23
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ServerDebugging), IntermediateFieldType.Number),
24
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ClientDebugging), IntermediateFieldType.Number),
25
+ new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AppPool_), IntermediateFieldType.String),
26
+ },
27
+ typeof(IIsWebApplicationTuple));
28
+ }
29
+}
30
+
31
+namespace WixToolset.Iis.Tuples
32
+{
33
+ using WixToolset.Data;
34
+
35
+ public enum IIsWebApplicationTupleFields
36
+ {
37
+ Application,
38
+ Name,
39
+ Isolation,
40
+ AllowSessions,
41
+ SessionTimeout,
42
+ Buffer,
43
+ ParentPaths,
44
+ DefaultScript,
45
+ ScriptTimeout,
46
+ ServerDebugging,
47
+ ClientDebugging,
48
+ AppPool_,
49
+ }
50
+
51
+ public class IIsWebApplicationTuple : IntermediateTuple
52
+ {
53
+ public IIsWebApplicationTuple() : base(IisTupleDefinitions.IIsWebApplication, null, null)
54
+ {
55
+ }
56
+
57
+ public IIsWebApplicationTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebApplication, sourceLineNumber, id)
58
+ {
59
+ }
60
+
61
+ public IntermediateField this[IIsWebApplicationTupleFields index] => this.Fields[(int)index];
62
+
63
+ public string Application
64
+ {
65
+ get => this.Fields[(int)IIsWebApplicationTupleFields.Application].AsString();
66
+ set => this.Set((int)IIsWebApplicationTupleFields.Application, value);
67
+ }
68
+
69
+ public string Name
70
+ {
71
+ get => this.Fields[(int)IIsWebApplicationTupleFields.Name].AsString();
72
+ set => this.Set((int)IIsWebApplicationTupleFields.Name, value);
73
+ }
74
+
75
+ public int Isolation
76
+ {
77
+ get => this.Fields[(int)IIsWebApplicationTupleFields.Isolation].AsNumber();
78
+ set => this.Set((int)IIsWebApplicationTupleFields.Isolation, value);
79
+ }
80
+
81
+ public int AllowSessions
82
+ {
83
+ get => this.Fields[(int)IIsWebApplicationTupleFields.AllowSessions].AsNumber();
84
+ set => this.Set((int)IIsWebApplicationTupleFields.AllowSessions, value);
85
+ }
86
+
87
+ public int SessionTimeout
88
+ {
89
+ get => this.Fields[(int)IIsWebApplicationTupleFields.SessionTimeout].AsNumber();
90
+ set => this.Set((int)IIsWebApplicationTupleFields.SessionTimeout, value);
91
+ }
92
+
93
+ public int Buffer
94
+ {
95
+ get => this.Fields[(int)IIsWebApplicationTupleFields.Buffer].AsNumber();
96
+ set => this.Set((int)IIsWebApplicationTupleFields.Buffer, value);
97
+ }
98
+
99
+ public int ParentPaths
100
+ {
101
+ get => this.Fields[(int)IIsWebApplicationTupleFields.ParentPaths].AsNumber();
102
+ set => this.Set((int)IIsWebApplicationTupleFields.ParentPaths, value);
103
+ }
104
+
105
+ public string DefaultScript
106
+ {
107
+ get => this.Fields[(int)IIsWebApplicationTupleFields.DefaultScript].AsString();
108
+ set => this.Set((int)IIsWebApplicationTupleFields.DefaultScript, value);
109
+ }
110
+
111
+ public int ScriptTimeout
112
+ {
113
+ get => this.Fields[(int)IIsWebApplicationTupleFields.ScriptTimeout].AsNumber();
114
+ set => this.Set((int)IIsWebApplicationTupleFields.ScriptTimeout, value);
115
+ }
116
+
117
+ public int ServerDebugging
118
+ {
119
+ get => this.Fields[(int)IIsWebApplicationTupleFields.ServerDebugging].AsNumber();
120
+ set => this.Set((int)IIsWebApplicationTupleFields.ServerDebugging, value);
121
+ }
122
+
123
+ public int ClientDebugging
124
+ {
125
+ get => this.Fields[(int)IIsWebApplicationTupleFields.ClientDebugging].AsNumber();
126
+ set => this.Set((int)IIsWebApplicationTupleFields.ClientDebugging, value);
127
+ }
128
+
129
+ public string AppPool_
130
+ {
131
+ get => this.Fields[(int)IIsWebApplicationTupleFields.AppPool_].AsString();
132
+ set => this.Set((int)IIsWebApplicationTupleFields.AppPool_, value);
133
+ }
134
+ }
135
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebDirPropertiesTuple.cs
new
+159
@@ -0,0 +1,159 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebDirProperties = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebDirProperties.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.DirProperties), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Access), IntermediateFieldType.Number),
16
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Authorization), IntermediateFieldType.Number),
17
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AnonymousUser_), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.IIsControlledPassword), IntermediateFieldType.Number),
19
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.LogVisits), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Index), IntermediateFieldType.Number),
21
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.DefaultDoc), IntermediateFieldType.String),
22
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AspDetailedError), IntermediateFieldType.Number),
23
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.HttpExpires), IntermediateFieldType.String),
24
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.CacheControlMaxAge), IntermediateFieldType.Number),
25
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.CacheControlCustom), IntermediateFieldType.String),
26
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.NoCustomError), IntermediateFieldType.Number),
27
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AccessSSLFlags), IntermediateFieldType.Number),
28
+ new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AuthenticationProviders), IntermediateFieldType.String),
29
+ },
30
+ typeof(IIsWebDirPropertiesTuple));
31
+ }
32
+}
33
+
34
+namespace WixToolset.Iis.Tuples
35
+{
36
+ using WixToolset.Data;
37
+
38
+ public enum IIsWebDirPropertiesTupleFields
39
+ {
40
+ DirProperties,
41
+ Access,
42
+ Authorization,
43
+ AnonymousUser_,
44
+ IIsControlledPassword,
45
+ LogVisits,
46
+ Index,
47
+ DefaultDoc,
48
+ AspDetailedError,
49
+ HttpExpires,
50
+ CacheControlMaxAge,
51
+ CacheControlCustom,
52
+ NoCustomError,
53
+ AccessSSLFlags,
54
+ AuthenticationProviders,
55
+ }
56
+
57
+ public class IIsWebDirPropertiesTuple : IntermediateTuple
58
+ {
59
+ public IIsWebDirPropertiesTuple() : base(IisTupleDefinitions.IIsWebDirProperties, null, null)
60
+ {
61
+ }
62
+
63
+ public IIsWebDirPropertiesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebDirProperties, sourceLineNumber, id)
64
+ {
65
+ }
66
+
67
+ public IntermediateField this[IIsWebDirPropertiesTupleFields index] => this.Fields[(int)index];
68
+
69
+ public string DirProperties
70
+ {
71
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.DirProperties].AsString();
72
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.DirProperties, value);
73
+ }
74
+
75
+ public int Access
76
+ {
77
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Access].AsNumber();
78
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.Access, value);
79
+ }
80
+
81
+ public int Authorization
82
+ {
83
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Authorization].AsNumber();
84
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.Authorization, value);
85
+ }
86
+
87
+ public string AnonymousUser_
88
+ {
89
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AnonymousUser_].AsString();
90
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.AnonymousUser_, value);
91
+ }
92
+
93
+ public int IIsControlledPassword
94
+ {
95
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.IIsControlledPassword].AsNumber();
96
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.IIsControlledPassword, value);
97
+ }
98
+
99
+ public int LogVisits
100
+ {
101
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.LogVisits].AsNumber();
102
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.LogVisits, value);
103
+ }
104
+
105
+ public int Index
106
+ {
107
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Index].AsNumber();
108
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.Index, value);
109
+ }
110
+
111
+ public string DefaultDoc
112
+ {
113
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.DefaultDoc].AsString();
114
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.DefaultDoc, value);
115
+ }
116
+
117
+ public int AspDetailedError
118
+ {
119
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AspDetailedError].AsNumber();
120
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.AspDetailedError, value);
121
+ }
122
+
123
+ public string HttpExpires
124
+ {
125
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.HttpExpires].AsString();
126
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.HttpExpires, value);
127
+ }
128
+
129
+ public int CacheControlMaxAge
130
+ {
131
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.CacheControlMaxAge].AsNumber();
132
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.CacheControlMaxAge, value);
133
+ }
134
+
135
+ public string CacheControlCustom
136
+ {
137
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.CacheControlCustom].AsString();
138
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.CacheControlCustom, value);
139
+ }
140
+
141
+ public int NoCustomError
142
+ {
143
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.NoCustomError].AsNumber();
144
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.NoCustomError, value);
145
+ }
146
+
147
+ public int AccessSSLFlags
148
+ {
149
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AccessSSLFlags].AsNumber();
150
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.AccessSSLFlags, value);
151
+ }
152
+
153
+ public string AuthenticationProviders
154
+ {
155
+ get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AuthenticationProviders].AsString();
156
+ set => this.Set((int)IIsWebDirPropertiesTupleFields.AuthenticationProviders, value);
157
+ }
158
+ }
159
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebDirTuple.cs
new
+87
@@ -0,0 +1,87 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebDir = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebDir.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.WebDir), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Web_), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Path), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.DirProperties_), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Application_), IntermediateFieldType.String),
20
+ },
21
+ typeof(IIsWebDirTuple));
22
+ }
23
+}
24
+
25
+namespace WixToolset.Iis.Tuples
26
+{
27
+ using WixToolset.Data;
28
+
29
+ public enum IIsWebDirTupleFields
30
+ {
31
+ WebDir,
32
+ Component_,
33
+ Web_,
34
+ Path,
35
+ DirProperties_,
36
+ Application_,
37
+ }
38
+
39
+ public class IIsWebDirTuple : IntermediateTuple
40
+ {
41
+ public IIsWebDirTuple() : base(IisTupleDefinitions.IIsWebDir, null, null)
42
+ {
43
+ }
44
+
45
+ public IIsWebDirTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebDir, sourceLineNumber, id)
46
+ {
47
+ }
48
+
49
+ public IntermediateField this[IIsWebDirTupleFields index] => this.Fields[(int)index];
50
+
51
+ public string WebDir
52
+ {
53
+ get => this.Fields[(int)IIsWebDirTupleFields.WebDir].AsString();
54
+ set => this.Set((int)IIsWebDirTupleFields.WebDir, value);
55
+ }
56
+
57
+ public string Component_
58
+ {
59
+ get => this.Fields[(int)IIsWebDirTupleFields.Component_].AsString();
60
+ set => this.Set((int)IIsWebDirTupleFields.Component_, value);
61
+ }
62
+
63
+ public string Web_
64
+ {
65
+ get => this.Fields[(int)IIsWebDirTupleFields.Web_].AsString();
66
+ set => this.Set((int)IIsWebDirTupleFields.Web_, value);
67
+ }
68
+
69
+ public string Path
70
+ {
71
+ get => this.Fields[(int)IIsWebDirTupleFields.Path].AsString();
72
+ set => this.Set((int)IIsWebDirTupleFields.Path, value);
73
+ }
74
+
75
+ public string DirProperties_
76
+ {
77
+ get => this.Fields[(int)IIsWebDirTupleFields.DirProperties_].AsString();
78
+ set => this.Set((int)IIsWebDirTupleFields.DirProperties_, value);
79
+ }
80
+
81
+ public string Application_
82
+ {
83
+ get => this.Fields[(int)IIsWebDirTupleFields.Application_].AsString();
84
+ set => this.Set((int)IIsWebDirTupleFields.Application_, value);
85
+ }
86
+ }
87
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebErrorTuple.cs
new
+87
@@ -0,0 +1,87 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebError = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebError.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ErrorCode), IntermediateFieldType.Number),
15
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.SubCode), IntermediateFieldType.Number),
16
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ParentType), IntermediateFieldType.Number),
17
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ParentValue), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.File), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.URL), IntermediateFieldType.String),
20
+ },
21
+ typeof(IIsWebErrorTuple));
22
+ }
23
+}
24
+
25
+namespace WixToolset.Iis.Tuples
26
+{
27
+ using WixToolset.Data;
28
+
29
+ public enum IIsWebErrorTupleFields
30
+ {
31
+ ErrorCode,
32
+ SubCode,
33
+ ParentType,
34
+ ParentValue,
35
+ File,
36
+ URL,
37
+ }
38
+
39
+ public class IIsWebErrorTuple : IntermediateTuple
40
+ {
41
+ public IIsWebErrorTuple() : base(IisTupleDefinitions.IIsWebError, null, null)
42
+ {
43
+ }
44
+
45
+ public IIsWebErrorTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebError, sourceLineNumber, id)
46
+ {
47
+ }
48
+
49
+ public IntermediateField this[IIsWebErrorTupleFields index] => this.Fields[(int)index];
50
+
51
+ public int ErrorCode
52
+ {
53
+ get => this.Fields[(int)IIsWebErrorTupleFields.ErrorCode].AsNumber();
54
+ set => this.Set((int)IIsWebErrorTupleFields.ErrorCode, value);
55
+ }
56
+
57
+ public int SubCode
58
+ {
59
+ get => this.Fields[(int)IIsWebErrorTupleFields.SubCode].AsNumber();
60
+ set => this.Set((int)IIsWebErrorTupleFields.SubCode, value);
61
+ }
62
+
63
+ public int ParentType
64
+ {
65
+ get => this.Fields[(int)IIsWebErrorTupleFields.ParentType].AsNumber();
66
+ set => this.Set((int)IIsWebErrorTupleFields.ParentType, value);
67
+ }
68
+
69
+ public string ParentValue
70
+ {
71
+ get => this.Fields[(int)IIsWebErrorTupleFields.ParentValue].AsString();
72
+ set => this.Set((int)IIsWebErrorTupleFields.ParentValue, value);
73
+ }
74
+
75
+ public string File
76
+ {
77
+ get => this.Fields[(int)IIsWebErrorTupleFields.File].AsString();
78
+ set => this.Set((int)IIsWebErrorTupleFields.File, value);
79
+ }
80
+
81
+ public string URL
82
+ {
83
+ get => this.Fields[(int)IIsWebErrorTupleFields.URL].AsString();
84
+ set => this.Set((int)IIsWebErrorTupleFields.URL, value);
85
+ }
86
+ }
87
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebLogTuple.cs
new
+55
@@ -0,0 +1,55 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebLog = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebLog.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Log), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Format), IntermediateFieldType.String),
16
+ },
17
+ typeof(IIsWebLogTuple));
18
+ }
19
+}
20
+
21
+namespace WixToolset.Iis.Tuples
22
+{
23
+ using WixToolset.Data;
24
+
25
+ public enum IIsWebLogTupleFields
26
+ {
27
+ Log,
28
+ Format,
29
+ }
30
+
31
+ public class IIsWebLogTuple : IntermediateTuple
32
+ {
33
+ public IIsWebLogTuple() : base(IisTupleDefinitions.IIsWebLog, null, null)
34
+ {
35
+ }
36
+
37
+ public IIsWebLogTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebLog, sourceLineNumber, id)
38
+ {
39
+ }
40
+
41
+ public IntermediateField this[IIsWebLogTupleFields index] => this.Fields[(int)index];
42
+
43
+ public string Log
44
+ {
45
+ get => this.Fields[(int)IIsWebLogTupleFields.Log].AsString();
46
+ set => this.Set((int)IIsWebLogTupleFields.Log, value);
47
+ }
48
+
49
+ public string Format
50
+ {
51
+ get => this.Fields[(int)IIsWebLogTupleFields.Format].AsString();
52
+ set => this.Set((int)IIsWebLogTupleFields.Format, value);
53
+ }
54
+ }
55
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebServiceExtensionTuple.cs
new
+87
@@ -0,0 +1,87 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebServiceExtension = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebServiceExtension.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.WebServiceExtension), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.File), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Description), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Group), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Attributes), IntermediateFieldType.Number),
20
+ },
21
+ typeof(IIsWebServiceExtensionTuple));
22
+ }
23
+}
24
+
25
+namespace WixToolset.Iis.Tuples
26
+{
27
+ using WixToolset.Data;
28
+
29
+ public enum IIsWebServiceExtensionTupleFields
30
+ {
31
+ WebServiceExtension,
32
+ Component_,
33
+ File,
34
+ Description,
35
+ Group,
36
+ Attributes,
37
+ }
38
+
39
+ public class IIsWebServiceExtensionTuple : IntermediateTuple
40
+ {
41
+ public IIsWebServiceExtensionTuple() : base(IisTupleDefinitions.IIsWebServiceExtension, null, null)
42
+ {
43
+ }
44
+
45
+ public IIsWebServiceExtensionTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebServiceExtension, sourceLineNumber, id)
46
+ {
47
+ }
48
+
49
+ public IntermediateField this[IIsWebServiceExtensionTupleFields index] => this.Fields[(int)index];
50
+
51
+ public string WebServiceExtension
52
+ {
53
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.WebServiceExtension].AsString();
54
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.WebServiceExtension, value);
55
+ }
56
+
57
+ public string Component_
58
+ {
59
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Component_].AsString();
60
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.Component_, value);
61
+ }
62
+
63
+ public string File
64
+ {
65
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.File].AsString();
66
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.File, value);
67
+ }
68
+
69
+ public string Description
70
+ {
71
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Description].AsString();
72
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.Description, value);
73
+ }
74
+
75
+ public string Group
76
+ {
77
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Group].AsString();
78
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.Group, value);
79
+ }
80
+
81
+ public int Attributes
82
+ {
83
+ get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Attributes].AsNumber();
84
+ set => this.Set((int)IIsWebServiceExtensionTupleFields.Attributes, value);
85
+ }
86
+ }
87
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs
new
+55
@@ -0,0 +1,55 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebSiteCertificates = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebSiteCertificates.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Web_), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Certificate_), IntermediateFieldType.String),
16
+ },
17
+ typeof(IIsWebSiteCertificatesTuple));
18
+ }
19
+}
20
+
21
+namespace WixToolset.Iis.Tuples
22
+{
23
+ using WixToolset.Data;
24
+
25
+ public enum IIsWebSiteCertificatesTupleFields
26
+ {
27
+ Web_,
28
+ Certificate_,
29
+ }
30
+
31
+ public class IIsWebSiteCertificatesTuple : IntermediateTuple
32
+ {
33
+ public IIsWebSiteCertificatesTuple() : base(IisTupleDefinitions.IIsWebSiteCertificates, null, null)
34
+ {
35
+ }
36
+
37
+ public IIsWebSiteCertificatesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebSiteCertificates, sourceLineNumber, id)
38
+ {
39
+ }
40
+
41
+ public IntermediateField this[IIsWebSiteCertificatesTupleFields index] => this.Fields[(int)index];
42
+
43
+ public string Web_
44
+ {
45
+ get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Web_].AsString();
46
+ set => this.Set((int)IIsWebSiteCertificatesTupleFields.Web_, value);
47
+ }
48
+
49
+ public string Certificate_
50
+ {
51
+ get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Certificate_].AsString();
52
+ set => this.Set((int)IIsWebSiteCertificatesTupleFields.Certificate_, value);
53
+ }
54
+ }
55
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebSiteTuple.cs
new
+143
@@ -0,0 +1,143 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebSite = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebSite.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Web), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Description), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ConnectionTimeout), IntermediateFieldType.Number),
18
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Directory_), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.State), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Attributes), IntermediateFieldType.Number),
21
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.KeyAddress_), IntermediateFieldType.String),
22
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.DirProperties_), IntermediateFieldType.String),
23
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Application_), IntermediateFieldType.String),
24
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Sequence), IntermediateFieldType.Number),
25
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Log_), IntermediateFieldType.String),
26
+ new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.WebsiteId), IntermediateFieldType.String),
27
+ },
28
+ typeof(IIsWebSiteTuple));
29
+ }
30
+}
31
+
32
+namespace WixToolset.Iis.Tuples
33
+{
34
+ using WixToolset.Data;
35
+
36
+ public enum IIsWebSiteTupleFields
37
+ {
38
+ Web,
39
+ Component_,
40
+ Description,
41
+ ConnectionTimeout,
42
+ Directory_,
43
+ State,
44
+ Attributes,
45
+ KeyAddress_,
46
+ DirProperties_,
47
+ Application_,
48
+ Sequence,
49
+ Log_,
50
+ WebsiteId,
51
+ }
52
+
53
+ public class IIsWebSiteTuple : IntermediateTuple
54
+ {
55
+ public IIsWebSiteTuple() : base(IisTupleDefinitions.IIsWebSite, null, null)
56
+ {
57
+ }
58
+
59
+ public IIsWebSiteTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebSite, sourceLineNumber, id)
60
+ {
61
+ }
62
+
63
+ public IntermediateField this[IIsWebSiteTupleFields index] => this.Fields[(int)index];
64
+
65
+ public string Web
66
+ {
67
+ get => this.Fields[(int)IIsWebSiteTupleFields.Web].AsString();
68
+ set => this.Set((int)IIsWebSiteTupleFields.Web, value);
69
+ }
70
+
71
+ public string Component_
72
+ {
73
+ get => this.Fields[(int)IIsWebSiteTupleFields.Component_].AsString();
74
+ set => this.Set((int)IIsWebSiteTupleFields.Component_, value);
75
+ }
76
+
77
+ public string Description
78
+ {
79
+ get => this.Fields[(int)IIsWebSiteTupleFields.Description].AsString();
80
+ set => this.Set((int)IIsWebSiteTupleFields.Description, value);
81
+ }
82
+
83
+ public int ConnectionTimeout
84
+ {
85
+ get => this.Fields[(int)IIsWebSiteTupleFields.ConnectionTimeout].AsNumber();
86
+ set => this.Set((int)IIsWebSiteTupleFields.ConnectionTimeout, value);
87
+ }
88
+
89
+ public string Directory_
90
+ {
91
+ get => this.Fields[(int)IIsWebSiteTupleFields.Directory_].AsString();
92
+ set => this.Set((int)IIsWebSiteTupleFields.Directory_, value);
93
+ }
94
+
95
+ public int State
96
+ {
97
+ get => this.Fields[(int)IIsWebSiteTupleFields.State].AsNumber();
98
+ set => this.Set((int)IIsWebSiteTupleFields.State, value);
99
+ }
100
+
101
+ public int Attributes
102
+ {
103
+ get => this.Fields[(int)IIsWebSiteTupleFields.Attributes].AsNumber();
104
+ set => this.Set((int)IIsWebSiteTupleFields.Attributes, value);
105
+ }
106
+
107
+ public string KeyAddress_
108
+ {
109
+ get => this.Fields[(int)IIsWebSiteTupleFields.KeyAddress_].AsString();
110
+ set => this.Set((int)IIsWebSiteTupleFields.KeyAddress_, value);
111
+ }
112
+
113
+ public string DirProperties_
114
+ {
115
+ get => this.Fields[(int)IIsWebSiteTupleFields.DirProperties_].AsString();
116
+ set => this.Set((int)IIsWebSiteTupleFields.DirProperties_, value);
117
+ }
118
+
119
+ public string Application_
120
+ {
121
+ get => this.Fields[(int)IIsWebSiteTupleFields.Application_].AsString();
122
+ set => this.Set((int)IIsWebSiteTupleFields.Application_, value);
123
+ }
124
+
125
+ public int Sequence
126
+ {
127
+ get => this.Fields[(int)IIsWebSiteTupleFields.Sequence].AsNumber();
128
+ set => this.Set((int)IIsWebSiteTupleFields.Sequence, value);
129
+ }
130
+
131
+ public string Log_
132
+ {
133
+ get => this.Fields[(int)IIsWebSiteTupleFields.Log_].AsString();
134
+ set => this.Set((int)IIsWebSiteTupleFields.Log_, value);
135
+ }
136
+
137
+ public string WebsiteId
138
+ {
139
+ get => this.Fields[(int)IIsWebSiteTupleFields.WebsiteId].AsString();
140
+ set => this.Set((int)IIsWebSiteTupleFields.WebsiteId, value);
141
+ }
142
+ }
143
+}
\ No newline at end of file
src/wixext/Tuples/IIsWebVirtualDirTuple.cs
new
+95
@@ -0,0 +1,95 @@
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 WixToolset.Data;
6
+ using WixToolset.Iis.Tuples;
7
+
8
+ public static partial class IisTupleDefinitions
9
+ {
10
+ public static readonly IntermediateTupleDefinition IIsWebVirtualDir = new IntermediateTupleDefinition(
11
+ IisTupleDefinitionType.IIsWebVirtualDir.ToString(),
12
+ new[]
13
+ {
14
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.VirtualDir), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Component_), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Web_), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Alias), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Directory_), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.DirProperties_), IntermediateFieldType.String),
20
+ new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Application_), IntermediateFieldType.String),
21
+ },
22
+ typeof(IIsWebVirtualDirTuple));
23
+ }
24
+}
25
+
26
+namespace WixToolset.Iis.Tuples
27
+{
28
+ using WixToolset.Data;
29
+
30
+ public enum IIsWebVirtualDirTupleFields
31
+ {
32
+ VirtualDir,
33
+ Component_,
34
+ Web_,
35
+ Alias,
36
+ Directory_,
37
+ DirProperties_,
38
+ Application_,
39
+ }
40
+
41
+ public class IIsWebVirtualDirTuple : IntermediateTuple
42
+ {
43
+ public IIsWebVirtualDirTuple() : base(IisTupleDefinitions.IIsWebVirtualDir, null, null)
44
+ {
45
+ }
46
+
47
+ public IIsWebVirtualDirTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebVirtualDir, sourceLineNumber, id)
48
+ {
49
+ }
50
+
51
+ public IntermediateField this[IIsWebVirtualDirTupleFields index] => this.Fields[(int)index];
52
+
53
+ public string VirtualDir
54
+ {
55
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.VirtualDir].AsString();
56
+ set => this.Set((int)IIsWebVirtualDirTupleFields.VirtualDir, value);
57
+ }
58
+
59
+ public string Component_
60
+ {
61
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.Component_].AsString();
62
+ set => this.Set((int)IIsWebVirtualDirTupleFields.Component_, value);
63
+ }
64
+
65
+ public string Web_
66
+ {
67
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.Web_].AsString();
68
+ set => this.Set((int)IIsWebVirtualDirTupleFields.Web_, value);
69
+ }
70
+
71
+ public string Alias
72
+ {
73
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.Alias].AsString();
74
+ set => this.Set((int)IIsWebVirtualDirTupleFields.Alias, value);
75
+ }
76
+
77
+ public string Directory_
78
+ {
79
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.Directory_].AsString();
80
+ set => this.Set((int)IIsWebVirtualDirTupleFields.Directory_, value);
81
+ }
82
+
83
+ public string DirProperties_
84
+ {
85
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.DirProperties_].AsString();
86
+ set => this.Set((int)IIsWebVirtualDirTupleFields.DirProperties_, value);
87
+ }
88
+
89
+ public string Application_
90
+ {
91
+ get => this.Fields[(int)IIsWebVirtualDirTupleFields.Application_].AsString();
92
+ set => this.Set((int)IIsWebVirtualDirTupleFields.Application_, value);
93
+ }
94
+ }
95
+}
\ No newline at end of file
src/wixext/Tuples/IisTupleDefinitions.cs
new
+107
@@ -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
+
3
+namespace 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
+}