@joebigelow / wix-1 / commits / 3ff6c0bc

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 +}