From 3ff6c0bc2c613b7db6c2732661050c94d36eeb37 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 6 Jan 2019 20:09:31 -0600 Subject: Add messages, add tuple definitions, and fix test. --- src/wixext/IIsExtensionData.cs | 2 +- src/wixext/IisErrors.cs | 98 +++++++----- src/wixext/IisWarnings.cs | 30 ++++ src/wixext/Tuples/CertificateHashTuple.cs | 55 +++++++ src/wixext/Tuples/CertificateTuple.cs | 111 ++++++++++++++ src/wixext/Tuples/IIsAppPoolTuple.cs | 167 +++++++++++++++++++++ src/wixext/Tuples/IIsFilterTuple.cs | 103 +++++++++++++ src/wixext/Tuples/IIsHttpHeaderTuple.cs | 95 ++++++++++++ src/wixext/Tuples/IIsMimeMapTuple.cs | 79 ++++++++++ src/wixext/Tuples/IIsPropertyTuple.cs | 71 +++++++++ src/wixext/Tuples/IIsWebAddressTuple.cs | 87 +++++++++++ .../Tuples/IIsWebApplicationExtensionTuple.cs | 79 ++++++++++ src/wixext/Tuples/IIsWebApplicationTuple.cs | 135 +++++++++++++++++ src/wixext/Tuples/IIsWebDirPropertiesTuple.cs | 159 ++++++++++++++++++++ src/wixext/Tuples/IIsWebDirTuple.cs | 87 +++++++++++ src/wixext/Tuples/IIsWebErrorTuple.cs | 87 +++++++++++ src/wixext/Tuples/IIsWebLogTuple.cs | 55 +++++++ src/wixext/Tuples/IIsWebServiceExtensionTuple.cs | 87 +++++++++++ src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs | 55 +++++++ src/wixext/Tuples/IIsWebSiteTuple.cs | 143 ++++++++++++++++++ src/wixext/Tuples/IIsWebVirtualDirTuple.cs | 95 ++++++++++++ src/wixext/Tuples/IisTupleDefinitions.cs | 107 +++++++++++++ 22 files changed, 1950 insertions(+), 37 deletions(-) create mode 100644 src/wixext/IisWarnings.cs create mode 100644 src/wixext/Tuples/CertificateHashTuple.cs create mode 100644 src/wixext/Tuples/CertificateTuple.cs create mode 100644 src/wixext/Tuples/IIsAppPoolTuple.cs create mode 100644 src/wixext/Tuples/IIsFilterTuple.cs create mode 100644 src/wixext/Tuples/IIsHttpHeaderTuple.cs create mode 100644 src/wixext/Tuples/IIsMimeMapTuple.cs create mode 100644 src/wixext/Tuples/IIsPropertyTuple.cs create mode 100644 src/wixext/Tuples/IIsWebAddressTuple.cs create mode 100644 src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs create mode 100644 src/wixext/Tuples/IIsWebApplicationTuple.cs create mode 100644 src/wixext/Tuples/IIsWebDirPropertiesTuple.cs create mode 100644 src/wixext/Tuples/IIsWebDirTuple.cs create mode 100644 src/wixext/Tuples/IIsWebErrorTuple.cs create mode 100644 src/wixext/Tuples/IIsWebLogTuple.cs create mode 100644 src/wixext/Tuples/IIsWebServiceExtensionTuple.cs create mode 100644 src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs create mode 100644 src/wixext/Tuples/IIsWebSiteTuple.cs create mode 100644 src/wixext/Tuples/IIsWebVirtualDirTuple.cs create mode 100644 src/wixext/Tuples/IisTupleDefinitions.cs (limited to 'src/wixext') diff --git a/src/wixext/IIsExtensionData.cs b/src/wixext/IIsExtensionData.cs index 799ea71e..d1696a89 100644 --- a/src/wixext/IIsExtensionData.cs +++ b/src/wixext/IIsExtensionData.cs @@ -18,7 +18,7 @@ namespace WixToolset.Iis public override bool TryGetTupleDefinitionByName(string name, out IntermediateTupleDefinition tupleDefinition) { - tupleDefinition = null; + tupleDefinition = IisTupleDefinitions.ByName(name); return tupleDefinition != null; } diff --git a/src/wixext/IisErrors.cs b/src/wixext/IisErrors.cs index 874c5609..e38d7807 100644 --- a/src/wixext/IisErrors.cs +++ b/src/wixext/IisErrors.cs @@ -1,70 +1,96 @@ // 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. -namespace WixToolset.Iis +namespace WixToolset.Data { using System; - using WixToolset.Data; - + using System.Resources; + public static class IIsErrors { - public static Message MimeMapExtensionMissingPeriod(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) + public static Message CannotHarvestWebSite() + { + return Message(null, Ids.CannotHarvestWebSite, "Cannot harvest website. On Windows Vista, you must install IIS 6 Management Compatibility."); + } + + public static Message DeprecatedBinaryChildElement(SourceLineNumber sourceLineNumbers, string elementName) { - throw new NotImplementedException(); + 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); } - + public static Message IllegalAttributeWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) { - throw new NotImplementedException(); + 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); } - + + public static Message IllegalCharacterInAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, Char illegalCharacter) + { + return Message(sourceLineNumbers, Ids.IllegalCharacterInAttributeValue, "The {0}/@{1} attribute's value, '{2}', is invalid. It cannot contain the character '{3}'.", elementName, attributeName, value, illegalCharacter); + } + public static Message IllegalElementWithoutComponent(SourceLineNumber sourceLineNumbers, string elementName) { - throw new NotImplementedException(); + 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); } - - public static Message OneOfAttributesRequiredUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4) + + public static Message InsufficientPermissionHarvestWebSite() { - throw new NotImplementedException(); + return Message(null, Ids.InsufficientPermissionHarvestWebSite, "Not enough permissions to harvest website. On Windows Vista, you must run Heat elevated."); } - - public static Message WebSiteAttributeUnderWebSite(SourceLineNumber sourceLineNumbers, string elementName) + + public static Message MimeMapExtensionMissingPeriod(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string attributeValue) { - throw new NotImplementedException(); + 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); } - - public static Message WebApplicationAlreadySpecified(SourceLineNumber sourceLineNumbers, string elementName) + + public static Message OneOfAttributesRequiredUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName1, string attributeName2, string attributeName3, string attributeName4) { - throw new NotImplementedException(); + 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); } - - public static Message IllegalCharacterInAttributeValue(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string value, char illegalCharacter) + + public static Message RequiredAttributeUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) { - throw new NotImplementedException(); + return Message(sourceLineNumbers, Ids.RequiredAttributeUnderComponent, "The {0}/@{1} attribute must be specified when the element has a Component as an ancestor.", elementName, attributeName); } - - public static Message DeprecatedBinaryChildElement(SourceLineNumber sourceLineNumbers, string elementName) + + public static Message WebApplicationAlreadySpecified(SourceLineNumber sourceLineNumbers, string elementName) + { + 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); + } + + public static Message WebSiteAttributeUnderWebSite(SourceLineNumber sourceLineNumbers, string elementName) { - throw new NotImplementedException(); + return Message(sourceLineNumbers, Ids.WebSiteAttributeUnderWebSite, "The {0}/@WebSite attribute cannot be specified when the {0} element is nested under a WebSite element.", elementName); } - + public static Message WebSiteNotFound(string webSiteDescription) { - throw new NotImplementedException(); + 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); } - - public static Message InsufficientPermissionHarvestWebSite() + + private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args) { - throw new NotImplementedException(); + return new Message(sourceLineNumber, MessageLevel.Error, (int)id, format, args); } - - public static Message CannotHarvestWebSite() + + private static Message Message(SourceLineNumber sourceLineNumber, Ids id, ResourceManager resourceManager, string resourceName, params object[] args) { - throw new NotImplementedException(); + return new Message(sourceLineNumber, MessageLevel.Error, (int)id, resourceManager, resourceName, args); } - - public static Message RequiredAttributeUnderComponent(SourceLineNumber sourceLineNumbers, string elementName, string attributeName) + + public enum Ids { - throw new NotImplementedException(); + MimeMapExtensionMissingPeriod = 5150, + IllegalAttributeWithoutComponent = 5151, + IllegalElementWithoutComponent = 5152, + OneOfAttributesRequiredUnderComponent = 5153, + WebSiteAttributeUnderWebSite = 5154, + WebApplicationAlreadySpecified = 5155, + IllegalCharacterInAttributeValue = 5156, + DeprecatedBinaryChildElement = 5157, + WebSiteNotFound = 5158, + InsufficientPermissionHarvestWebSite = 5159, + CannotHarvestWebSite = 5160, + RequiredAttributeUnderComponent = 5161, } } -} \ No newline at end of file +} diff --git a/src/wixext/IisWarnings.cs b/src/wixext/IisWarnings.cs new file mode 100644 index 00000000..0b833f68 --- /dev/null +++ b/src/wixext/IisWarnings.cs @@ -0,0 +1,30 @@ +// 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. + +namespace WixToolset.Data +{ + using System; + using System.Resources; + + public static class IIsWarnings + { + public static Message EncounteredNullDirectoryForWebSite(string directory) + { + return Message(null, Ids.EncounteredNullDirectoryForWebSite, "Could not harvest website directory: {0}. Please update the output with the appropriate directory ID before using.", directory); + } + + private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args) + { + return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, format, args); + } + + private static Message Message(SourceLineNumber sourceLineNumber, Ids id, ResourceManager resourceManager, string resourceName, params object[] args) + { + return new Message(sourceLineNumber, MessageLevel.Warning, (int)id, resourceManager, resourceName, args); + } + + public enum Ids + { + EncounteredNullDirectoryForWebSite = 5400, + } + } +} diff --git a/src/wixext/Tuples/CertificateHashTuple.cs b/src/wixext/Tuples/CertificateHashTuple.cs new file mode 100644 index 00000000..6df4c88c --- /dev/null +++ b/src/wixext/Tuples/CertificateHashTuple.cs @@ -0,0 +1,55 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition CertificateHash = new IntermediateTupleDefinition( + IisTupleDefinitionType.CertificateHash.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Certificate_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateHashTupleFields.Hash), IntermediateFieldType.String), + }, + typeof(CertificateHashTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum CertificateHashTupleFields + { + Certificate_, + Hash, + } + + public class CertificateHashTuple : IntermediateTuple + { + public CertificateHashTuple() : base(IisTupleDefinitions.CertificateHash, null, null) + { + } + + public CertificateHashTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.CertificateHash, sourceLineNumber, id) + { + } + + public IntermediateField this[CertificateHashTupleFields index] => this.Fields[(int)index]; + + public string Certificate_ + { + get => this.Fields[(int)CertificateHashTupleFields.Certificate_].AsString(); + set => this.Set((int)CertificateHashTupleFields.Certificate_, value); + } + + public string Hash + { + get => this.Fields[(int)CertificateHashTupleFields.Hash].AsString(); + set => this.Set((int)CertificateHashTupleFields.Hash, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/CertificateTuple.cs b/src/wixext/Tuples/CertificateTuple.cs new file mode 100644 index 00000000..9e04b783 --- /dev/null +++ b/src/wixext/Tuples/CertificateTuple.cs @@ -0,0 +1,111 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition Certificate = new IntermediateTupleDefinition( + IisTupleDefinitionType.Certificate.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(CertificateTupleFields.Certificate), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreLocation), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.StoreName), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.Binary_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.CertificatePath), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(CertificateTupleFields.PFXPassword), IntermediateFieldType.String), + }, + typeof(CertificateTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum CertificateTupleFields + { + Certificate, + Component_, + Name, + StoreLocation, + StoreName, + Attributes, + Binary_, + CertificatePath, + PFXPassword, + } + + public class CertificateTuple : IntermediateTuple + { + public CertificateTuple() : base(IisTupleDefinitions.Certificate, null, null) + { + } + + public CertificateTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.Certificate, sourceLineNumber, id) + { + } + + public IntermediateField this[CertificateTupleFields index] => this.Fields[(int)index]; + + public string Certificate + { + get => this.Fields[(int)CertificateTupleFields.Certificate].AsString(); + set => this.Set((int)CertificateTupleFields.Certificate, value); + } + + public string Component_ + { + get => this.Fields[(int)CertificateTupleFields.Component_].AsString(); + set => this.Set((int)CertificateTupleFields.Component_, value); + } + + public string Name + { + get => this.Fields[(int)CertificateTupleFields.Name].AsString(); + set => this.Set((int)CertificateTupleFields.Name, value); + } + + public int StoreLocation + { + get => this.Fields[(int)CertificateTupleFields.StoreLocation].AsNumber(); + set => this.Set((int)CertificateTupleFields.StoreLocation, value); + } + + public string StoreName + { + get => this.Fields[(int)CertificateTupleFields.StoreName].AsString(); + set => this.Set((int)CertificateTupleFields.StoreName, value); + } + + public int Attributes + { + get => this.Fields[(int)CertificateTupleFields.Attributes].AsNumber(); + set => this.Set((int)CertificateTupleFields.Attributes, value); + } + + public string Binary_ + { + get => this.Fields[(int)CertificateTupleFields.Binary_].AsString(); + set => this.Set((int)CertificateTupleFields.Binary_, value); + } + + public string CertificatePath + { + get => this.Fields[(int)CertificateTupleFields.CertificatePath].AsString(); + set => this.Set((int)CertificateTupleFields.CertificatePath, value); + } + + public string PFXPassword + { + get => this.Fields[(int)CertificateTupleFields.PFXPassword].AsString(); + set => this.Set((int)CertificateTupleFields.PFXPassword, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsAppPoolTuple.cs b/src/wixext/Tuples/IIsAppPoolTuple.cs new file mode 100644 index 00000000..10a00f50 --- /dev/null +++ b/src/wixext/Tuples/IIsAppPoolTuple.cs @@ -0,0 +1,167 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsAppPool = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsAppPool.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.AppPool), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.User_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleMinutes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleRequests), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.RecycleTimes), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.IdleTimeout), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.QueueLimit), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.CPUMon), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.MaxProc), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.VirtualMemory), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.PrivateMemory), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.ManagedRuntimeVersion), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsAppPoolTupleFields.ManagedPipelineMode), IntermediateFieldType.String), + }, + typeof(IIsAppPoolTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsAppPoolTupleFields + { + AppPool, + Name, + Component_, + Attributes, + User_, + RecycleMinutes, + RecycleRequests, + RecycleTimes, + IdleTimeout, + QueueLimit, + CPUMon, + MaxProc, + VirtualMemory, + PrivateMemory, + ManagedRuntimeVersion, + ManagedPipelineMode, + } + + public class IIsAppPoolTuple : IntermediateTuple + { + public IIsAppPoolTuple() : base(IisTupleDefinitions.IIsAppPool, null, null) + { + } + + public IIsAppPoolTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsAppPool, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsAppPoolTupleFields index] => this.Fields[(int)index]; + + public string AppPool + { + get => this.Fields[(int)IIsAppPoolTupleFields.AppPool].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.AppPool, value); + } + + public string Name + { + get => this.Fields[(int)IIsAppPoolTupleFields.Name].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.Name, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsAppPoolTupleFields.Component_].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.Component_, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsAppPoolTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.Attributes, value); + } + + public string User_ + { + get => this.Fields[(int)IIsAppPoolTupleFields.User_].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.User_, value); + } + + public int RecycleMinutes + { + get => this.Fields[(int)IIsAppPoolTupleFields.RecycleMinutes].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.RecycleMinutes, value); + } + + public int RecycleRequests + { + get => this.Fields[(int)IIsAppPoolTupleFields.RecycleRequests].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.RecycleRequests, value); + } + + public string RecycleTimes + { + get => this.Fields[(int)IIsAppPoolTupleFields.RecycleTimes].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.RecycleTimes, value); + } + + public int IdleTimeout + { + get => this.Fields[(int)IIsAppPoolTupleFields.IdleTimeout].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.IdleTimeout, value); + } + + public int QueueLimit + { + get => this.Fields[(int)IIsAppPoolTupleFields.QueueLimit].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.QueueLimit, value); + } + + public string CPUMon + { + get => this.Fields[(int)IIsAppPoolTupleFields.CPUMon].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.CPUMon, value); + } + + public int MaxProc + { + get => this.Fields[(int)IIsAppPoolTupleFields.MaxProc].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.MaxProc, value); + } + + public int VirtualMemory + { + get => this.Fields[(int)IIsAppPoolTupleFields.VirtualMemory].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.VirtualMemory, value); + } + + public int PrivateMemory + { + get => this.Fields[(int)IIsAppPoolTupleFields.PrivateMemory].AsNumber(); + set => this.Set((int)IIsAppPoolTupleFields.PrivateMemory, value); + } + + public string ManagedRuntimeVersion + { + get => this.Fields[(int)IIsAppPoolTupleFields.ManagedRuntimeVersion].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.ManagedRuntimeVersion, value); + } + + public string ManagedPipelineMode + { + get => this.Fields[(int)IIsAppPoolTupleFields.ManagedPipelineMode].AsString(); + set => this.Set((int)IIsAppPoolTupleFields.ManagedPipelineMode, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsFilterTuple.cs b/src/wixext/Tuples/IIsFilterTuple.cs new file mode 100644 index 00000000..9c651144 --- /dev/null +++ b/src/wixext/Tuples/IIsFilterTuple.cs @@ -0,0 +1,103 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsFilter = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsFilter.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Filter), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Path), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Web_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Description), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.Flags), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsFilterTupleFields.LoadOrder), IntermediateFieldType.Number), + }, + typeof(IIsFilterTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsFilterTupleFields + { + Filter, + Name, + Component_, + Path, + Web_, + Description, + Flags, + LoadOrder, + } + + public class IIsFilterTuple : IntermediateTuple + { + public IIsFilterTuple() : base(IisTupleDefinitions.IIsFilter, null, null) + { + } + + public IIsFilterTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsFilter, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsFilterTupleFields index] => this.Fields[(int)index]; + + public string Filter + { + get => this.Fields[(int)IIsFilterTupleFields.Filter].AsString(); + set => this.Set((int)IIsFilterTupleFields.Filter, value); + } + + public string Name + { + get => this.Fields[(int)IIsFilterTupleFields.Name].AsString(); + set => this.Set((int)IIsFilterTupleFields.Name, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsFilterTupleFields.Component_].AsString(); + set => this.Set((int)IIsFilterTupleFields.Component_, value); + } + + public string Path + { + get => this.Fields[(int)IIsFilterTupleFields.Path].AsString(); + set => this.Set((int)IIsFilterTupleFields.Path, value); + } + + public string Web_ + { + get => this.Fields[(int)IIsFilterTupleFields.Web_].AsString(); + set => this.Set((int)IIsFilterTupleFields.Web_, value); + } + + public string Description + { + get => this.Fields[(int)IIsFilterTupleFields.Description].AsString(); + set => this.Set((int)IIsFilterTupleFields.Description, value); + } + + public int Flags + { + get => this.Fields[(int)IIsFilterTupleFields.Flags].AsNumber(); + set => this.Set((int)IIsFilterTupleFields.Flags, value); + } + + public int LoadOrder + { + get => this.Fields[(int)IIsFilterTupleFields.LoadOrder].AsNumber(); + set => this.Set((int)IIsFilterTupleFields.LoadOrder, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsHttpHeaderTuple.cs b/src/wixext/Tuples/IIsHttpHeaderTuple.cs new file mode 100644 index 00000000..3d0e029c --- /dev/null +++ b/src/wixext/Tuples/IIsHttpHeaderTuple.cs @@ -0,0 +1,95 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsHttpHeader = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsHttpHeader.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.HttpHeader), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.ParentType), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.ParentValue), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Value), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsHttpHeaderTupleFields.Sequence), IntermediateFieldType.Number), + }, + typeof(IIsHttpHeaderTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsHttpHeaderTupleFields + { + HttpHeader, + ParentType, + ParentValue, + Name, + Value, + Attributes, + Sequence, + } + + public class IIsHttpHeaderTuple : IntermediateTuple + { + public IIsHttpHeaderTuple() : base(IisTupleDefinitions.IIsHttpHeader, null, null) + { + } + + public IIsHttpHeaderTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsHttpHeader, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsHttpHeaderTupleFields index] => this.Fields[(int)index]; + + public string HttpHeader + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.HttpHeader].AsString(); + set => this.Set((int)IIsHttpHeaderTupleFields.HttpHeader, value); + } + + public int ParentType + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.ParentType].AsNumber(); + set => this.Set((int)IIsHttpHeaderTupleFields.ParentType, value); + } + + public string ParentValue + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.ParentValue].AsString(); + set => this.Set((int)IIsHttpHeaderTupleFields.ParentValue, value); + } + + public string Name + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.Name].AsString(); + set => this.Set((int)IIsHttpHeaderTupleFields.Name, value); + } + + public string Value + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.Value].AsString(); + set => this.Set((int)IIsHttpHeaderTupleFields.Value, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsHttpHeaderTupleFields.Attributes, value); + } + + public int Sequence + { + get => this.Fields[(int)IIsHttpHeaderTupleFields.Sequence].AsNumber(); + set => this.Set((int)IIsHttpHeaderTupleFields.Sequence, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsMimeMapTuple.cs b/src/wixext/Tuples/IIsMimeMapTuple.cs new file mode 100644 index 00000000..c27aef21 --- /dev/null +++ b/src/wixext/Tuples/IIsMimeMapTuple.cs @@ -0,0 +1,79 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsMimeMap = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsMimeMap.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeMap), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentType), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.ParentValue), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.MimeType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsMimeMapTupleFields.Extension), IntermediateFieldType.String), + }, + typeof(IIsMimeMapTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsMimeMapTupleFields + { + MimeMap, + ParentType, + ParentValue, + MimeType, + Extension, + } + + public class IIsMimeMapTuple : IntermediateTuple + { + public IIsMimeMapTuple() : base(IisTupleDefinitions.IIsMimeMap, null, null) + { + } + + public IIsMimeMapTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsMimeMap, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsMimeMapTupleFields index] => this.Fields[(int)index]; + + public string MimeMap + { + get => this.Fields[(int)IIsMimeMapTupleFields.MimeMap].AsString(); + set => this.Set((int)IIsMimeMapTupleFields.MimeMap, value); + } + + public int ParentType + { + get => this.Fields[(int)IIsMimeMapTupleFields.ParentType].AsNumber(); + set => this.Set((int)IIsMimeMapTupleFields.ParentType, value); + } + + public string ParentValue + { + get => this.Fields[(int)IIsMimeMapTupleFields.ParentValue].AsString(); + set => this.Set((int)IIsMimeMapTupleFields.ParentValue, value); + } + + public string MimeType + { + get => this.Fields[(int)IIsMimeMapTupleFields.MimeType].AsString(); + set => this.Set((int)IIsMimeMapTupleFields.MimeType, value); + } + + public string Extension + { + get => this.Fields[(int)IIsMimeMapTupleFields.Extension].AsString(); + set => this.Set((int)IIsMimeMapTupleFields.Extension, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsPropertyTuple.cs b/src/wixext/Tuples/IIsPropertyTuple.cs new file mode 100644 index 00000000..b02a0b4a --- /dev/null +++ b/src/wixext/Tuples/IIsPropertyTuple.cs @@ -0,0 +1,71 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsProperty = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsProperty.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Property), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsPropertyTupleFields.Value), IntermediateFieldType.String), + }, + typeof(IIsPropertyTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsPropertyTupleFields + { + Property, + Component_, + Attributes, + Value, + } + + public class IIsPropertyTuple : IntermediateTuple + { + public IIsPropertyTuple() : base(IisTupleDefinitions.IIsProperty, null, null) + { + } + + public IIsPropertyTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsProperty, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsPropertyTupleFields index] => this.Fields[(int)index]; + + public string Property + { + get => this.Fields[(int)IIsPropertyTupleFields.Property].AsString(); + set => this.Set((int)IIsPropertyTupleFields.Property, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsPropertyTupleFields.Component_].AsString(); + set => this.Set((int)IIsPropertyTupleFields.Component_, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsPropertyTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsPropertyTupleFields.Attributes, value); + } + + public string Value + { + get => this.Fields[(int)IIsPropertyTupleFields.Value].AsString(); + set => this.Set((int)IIsPropertyTupleFields.Value, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebAddressTuple.cs b/src/wixext/Tuples/IIsWebAddressTuple.cs new file mode 100644 index 00000000..cb50b207 --- /dev/null +++ b/src/wixext/Tuples/IIsWebAddressTuple.cs @@ -0,0 +1,87 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebAddress = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebAddress.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Address), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Web_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.IP), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Port), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Header), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebAddressTupleFields.Secure), IntermediateFieldType.Number), + }, + typeof(IIsWebAddressTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebAddressTupleFields + { + Address, + Web_, + IP, + Port, + Header, + Secure, + } + + public class IIsWebAddressTuple : IntermediateTuple + { + public IIsWebAddressTuple() : base(IisTupleDefinitions.IIsWebAddress, null, null) + { + } + + public IIsWebAddressTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebAddress, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebAddressTupleFields index] => this.Fields[(int)index]; + + public string Address + { + get => this.Fields[(int)IIsWebAddressTupleFields.Address].AsString(); + set => this.Set((int)IIsWebAddressTupleFields.Address, value); + } + + public string Web_ + { + get => this.Fields[(int)IIsWebAddressTupleFields.Web_].AsString(); + set => this.Set((int)IIsWebAddressTupleFields.Web_, value); + } + + public string IP + { + get => this.Fields[(int)IIsWebAddressTupleFields.IP].AsString(); + set => this.Set((int)IIsWebAddressTupleFields.IP, value); + } + + public string Port + { + get => this.Fields[(int)IIsWebAddressTupleFields.Port].AsString(); + set => this.Set((int)IIsWebAddressTupleFields.Port, value); + } + + public string Header + { + get => this.Fields[(int)IIsWebAddressTupleFields.Header].AsString(); + set => this.Set((int)IIsWebAddressTupleFields.Header, value); + } + + public int Secure + { + get => this.Fields[(int)IIsWebAddressTupleFields.Secure].AsNumber(); + set => this.Set((int)IIsWebAddressTupleFields.Secure, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs b/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs new file mode 100644 index 00000000..5ae60f57 --- /dev/null +++ b/src/wixext/Tuples/IIsWebApplicationExtensionTuple.cs @@ -0,0 +1,79 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebApplicationExtension = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebApplicationExtension.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Application_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Extension), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Verbs), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Executable), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationExtensionTupleFields.Attributes), IntermediateFieldType.Number), + }, + typeof(IIsWebApplicationExtensionTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebApplicationExtensionTupleFields + { + Application_, + Extension, + Verbs, + Executable, + Attributes, + } + + public class IIsWebApplicationExtensionTuple : IntermediateTuple + { + public IIsWebApplicationExtensionTuple() : base(IisTupleDefinitions.IIsWebApplicationExtension, null, null) + { + } + + public IIsWebApplicationExtensionTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebApplicationExtension, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebApplicationExtensionTupleFields index] => this.Fields[(int)index]; + + public string Application_ + { + get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Application_].AsString(); + set => this.Set((int)IIsWebApplicationExtensionTupleFields.Application_, value); + } + + public string Extension + { + get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Extension].AsString(); + set => this.Set((int)IIsWebApplicationExtensionTupleFields.Extension, value); + } + + public string Verbs + { + get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Verbs].AsString(); + set => this.Set((int)IIsWebApplicationExtensionTupleFields.Verbs, value); + } + + public string Executable + { + get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Executable].AsString(); + set => this.Set((int)IIsWebApplicationExtensionTupleFields.Executable, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsWebApplicationExtensionTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsWebApplicationExtensionTupleFields.Attributes, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebApplicationTuple.cs b/src/wixext/Tuples/IIsWebApplicationTuple.cs new file mode 100644 index 00000000..403969b7 --- /dev/null +++ b/src/wixext/Tuples/IIsWebApplicationTuple.cs @@ -0,0 +1,135 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebApplication = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebApplication.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Application), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Isolation), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AllowSessions), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.SessionTimeout), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.Buffer), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ParentPaths), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.DefaultScript), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ScriptTimeout), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ServerDebugging), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.ClientDebugging), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebApplicationTupleFields.AppPool_), IntermediateFieldType.String), + }, + typeof(IIsWebApplicationTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebApplicationTupleFields + { + Application, + Name, + Isolation, + AllowSessions, + SessionTimeout, + Buffer, + ParentPaths, + DefaultScript, + ScriptTimeout, + ServerDebugging, + ClientDebugging, + AppPool_, + } + + public class IIsWebApplicationTuple : IntermediateTuple + { + public IIsWebApplicationTuple() : base(IisTupleDefinitions.IIsWebApplication, null, null) + { + } + + public IIsWebApplicationTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebApplication, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebApplicationTupleFields index] => this.Fields[(int)index]; + + public string Application + { + get => this.Fields[(int)IIsWebApplicationTupleFields.Application].AsString(); + set => this.Set((int)IIsWebApplicationTupleFields.Application, value); + } + + public string Name + { + get => this.Fields[(int)IIsWebApplicationTupleFields.Name].AsString(); + set => this.Set((int)IIsWebApplicationTupleFields.Name, value); + } + + public int Isolation + { + get => this.Fields[(int)IIsWebApplicationTupleFields.Isolation].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.Isolation, value); + } + + public int AllowSessions + { + get => this.Fields[(int)IIsWebApplicationTupleFields.AllowSessions].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.AllowSessions, value); + } + + public int SessionTimeout + { + get => this.Fields[(int)IIsWebApplicationTupleFields.SessionTimeout].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.SessionTimeout, value); + } + + public int Buffer + { + get => this.Fields[(int)IIsWebApplicationTupleFields.Buffer].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.Buffer, value); + } + + public int ParentPaths + { + get => this.Fields[(int)IIsWebApplicationTupleFields.ParentPaths].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.ParentPaths, value); + } + + public string DefaultScript + { + get => this.Fields[(int)IIsWebApplicationTupleFields.DefaultScript].AsString(); + set => this.Set((int)IIsWebApplicationTupleFields.DefaultScript, value); + } + + public int ScriptTimeout + { + get => this.Fields[(int)IIsWebApplicationTupleFields.ScriptTimeout].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.ScriptTimeout, value); + } + + public int ServerDebugging + { + get => this.Fields[(int)IIsWebApplicationTupleFields.ServerDebugging].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.ServerDebugging, value); + } + + public int ClientDebugging + { + get => this.Fields[(int)IIsWebApplicationTupleFields.ClientDebugging].AsNumber(); + set => this.Set((int)IIsWebApplicationTupleFields.ClientDebugging, value); + } + + public string AppPool_ + { + get => this.Fields[(int)IIsWebApplicationTupleFields.AppPool_].AsString(); + set => this.Set((int)IIsWebApplicationTupleFields.AppPool_, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs b/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs new file mode 100644 index 00000000..9e723775 --- /dev/null +++ b/src/wixext/Tuples/IIsWebDirPropertiesTuple.cs @@ -0,0 +1,159 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebDirProperties = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebDirProperties.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.DirProperties), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Access), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Authorization), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AnonymousUser_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.IIsControlledPassword), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.LogVisits), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.Index), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.DefaultDoc), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AspDetailedError), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.HttpExpires), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.CacheControlMaxAge), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.CacheControlCustom), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.NoCustomError), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AccessSSLFlags), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebDirPropertiesTupleFields.AuthenticationProviders), IntermediateFieldType.String), + }, + typeof(IIsWebDirPropertiesTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebDirPropertiesTupleFields + { + DirProperties, + Access, + Authorization, + AnonymousUser_, + IIsControlledPassword, + LogVisits, + Index, + DefaultDoc, + AspDetailedError, + HttpExpires, + CacheControlMaxAge, + CacheControlCustom, + NoCustomError, + AccessSSLFlags, + AuthenticationProviders, + } + + public class IIsWebDirPropertiesTuple : IntermediateTuple + { + public IIsWebDirPropertiesTuple() : base(IisTupleDefinitions.IIsWebDirProperties, null, null) + { + } + + public IIsWebDirPropertiesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebDirProperties, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebDirPropertiesTupleFields index] => this.Fields[(int)index]; + + public string DirProperties + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.DirProperties].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.DirProperties, value); + } + + public int Access + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Access].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.Access, value); + } + + public int Authorization + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Authorization].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.Authorization, value); + } + + public string AnonymousUser_ + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AnonymousUser_].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.AnonymousUser_, value); + } + + public int IIsControlledPassword + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.IIsControlledPassword].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.IIsControlledPassword, value); + } + + public int LogVisits + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.LogVisits].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.LogVisits, value); + } + + public int Index + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.Index].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.Index, value); + } + + public string DefaultDoc + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.DefaultDoc].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.DefaultDoc, value); + } + + public int AspDetailedError + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AspDetailedError].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.AspDetailedError, value); + } + + public string HttpExpires + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.HttpExpires].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.HttpExpires, value); + } + + public int CacheControlMaxAge + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.CacheControlMaxAge].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.CacheControlMaxAge, value); + } + + public string CacheControlCustom + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.CacheControlCustom].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.CacheControlCustom, value); + } + + public int NoCustomError + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.NoCustomError].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.NoCustomError, value); + } + + public int AccessSSLFlags + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AccessSSLFlags].AsNumber(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.AccessSSLFlags, value); + } + + public string AuthenticationProviders + { + get => this.Fields[(int)IIsWebDirPropertiesTupleFields.AuthenticationProviders].AsString(); + set => this.Set((int)IIsWebDirPropertiesTupleFields.AuthenticationProviders, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebDirTuple.cs b/src/wixext/Tuples/IIsWebDirTuple.cs new file mode 100644 index 00000000..6e04b337 --- /dev/null +++ b/src/wixext/Tuples/IIsWebDirTuple.cs @@ -0,0 +1,87 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebDir = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebDir.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.WebDir), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Web_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Path), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.DirProperties_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebDirTupleFields.Application_), IntermediateFieldType.String), + }, + typeof(IIsWebDirTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebDirTupleFields + { + WebDir, + Component_, + Web_, + Path, + DirProperties_, + Application_, + } + + public class IIsWebDirTuple : IntermediateTuple + { + public IIsWebDirTuple() : base(IisTupleDefinitions.IIsWebDir, null, null) + { + } + + public IIsWebDirTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebDir, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebDirTupleFields index] => this.Fields[(int)index]; + + public string WebDir + { + get => this.Fields[(int)IIsWebDirTupleFields.WebDir].AsString(); + set => this.Set((int)IIsWebDirTupleFields.WebDir, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsWebDirTupleFields.Component_].AsString(); + set => this.Set((int)IIsWebDirTupleFields.Component_, value); + } + + public string Web_ + { + get => this.Fields[(int)IIsWebDirTupleFields.Web_].AsString(); + set => this.Set((int)IIsWebDirTupleFields.Web_, value); + } + + public string Path + { + get => this.Fields[(int)IIsWebDirTupleFields.Path].AsString(); + set => this.Set((int)IIsWebDirTupleFields.Path, value); + } + + public string DirProperties_ + { + get => this.Fields[(int)IIsWebDirTupleFields.DirProperties_].AsString(); + set => this.Set((int)IIsWebDirTupleFields.DirProperties_, value); + } + + public string Application_ + { + get => this.Fields[(int)IIsWebDirTupleFields.Application_].AsString(); + set => this.Set((int)IIsWebDirTupleFields.Application_, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebErrorTuple.cs b/src/wixext/Tuples/IIsWebErrorTuple.cs new file mode 100644 index 00000000..ba6b2722 --- /dev/null +++ b/src/wixext/Tuples/IIsWebErrorTuple.cs @@ -0,0 +1,87 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebError = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebError.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ErrorCode), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.SubCode), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ParentType), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.ParentValue), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebErrorTupleFields.URL), IntermediateFieldType.String), + }, + typeof(IIsWebErrorTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebErrorTupleFields + { + ErrorCode, + SubCode, + ParentType, + ParentValue, + File, + URL, + } + + public class IIsWebErrorTuple : IntermediateTuple + { + public IIsWebErrorTuple() : base(IisTupleDefinitions.IIsWebError, null, null) + { + } + + public IIsWebErrorTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebError, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebErrorTupleFields index] => this.Fields[(int)index]; + + public int ErrorCode + { + get => this.Fields[(int)IIsWebErrorTupleFields.ErrorCode].AsNumber(); + set => this.Set((int)IIsWebErrorTupleFields.ErrorCode, value); + } + + public int SubCode + { + get => this.Fields[(int)IIsWebErrorTupleFields.SubCode].AsNumber(); + set => this.Set((int)IIsWebErrorTupleFields.SubCode, value); + } + + public int ParentType + { + get => this.Fields[(int)IIsWebErrorTupleFields.ParentType].AsNumber(); + set => this.Set((int)IIsWebErrorTupleFields.ParentType, value); + } + + public string ParentValue + { + get => this.Fields[(int)IIsWebErrorTupleFields.ParentValue].AsString(); + set => this.Set((int)IIsWebErrorTupleFields.ParentValue, value); + } + + public string File + { + get => this.Fields[(int)IIsWebErrorTupleFields.File].AsString(); + set => this.Set((int)IIsWebErrorTupleFields.File, value); + } + + public string URL + { + get => this.Fields[(int)IIsWebErrorTupleFields.URL].AsString(); + set => this.Set((int)IIsWebErrorTupleFields.URL, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebLogTuple.cs b/src/wixext/Tuples/IIsWebLogTuple.cs new file mode 100644 index 00000000..1dfe0862 --- /dev/null +++ b/src/wixext/Tuples/IIsWebLogTuple.cs @@ -0,0 +1,55 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebLog = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebLog.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Log), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebLogTupleFields.Format), IntermediateFieldType.String), + }, + typeof(IIsWebLogTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebLogTupleFields + { + Log, + Format, + } + + public class IIsWebLogTuple : IntermediateTuple + { + public IIsWebLogTuple() : base(IisTupleDefinitions.IIsWebLog, null, null) + { + } + + public IIsWebLogTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebLog, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebLogTupleFields index] => this.Fields[(int)index]; + + public string Log + { + get => this.Fields[(int)IIsWebLogTupleFields.Log].AsString(); + set => this.Set((int)IIsWebLogTupleFields.Log, value); + } + + public string Format + { + get => this.Fields[(int)IIsWebLogTupleFields.Format].AsString(); + set => this.Set((int)IIsWebLogTupleFields.Format, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs b/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs new file mode 100644 index 00000000..a6fec797 --- /dev/null +++ b/src/wixext/Tuples/IIsWebServiceExtensionTuple.cs @@ -0,0 +1,87 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebServiceExtension = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebServiceExtension.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.WebServiceExtension), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Description), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Group), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebServiceExtensionTupleFields.Attributes), IntermediateFieldType.Number), + }, + typeof(IIsWebServiceExtensionTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebServiceExtensionTupleFields + { + WebServiceExtension, + Component_, + File, + Description, + Group, + Attributes, + } + + public class IIsWebServiceExtensionTuple : IntermediateTuple + { + public IIsWebServiceExtensionTuple() : base(IisTupleDefinitions.IIsWebServiceExtension, null, null) + { + } + + public IIsWebServiceExtensionTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebServiceExtension, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebServiceExtensionTupleFields index] => this.Fields[(int)index]; + + public string WebServiceExtension + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.WebServiceExtension].AsString(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.WebServiceExtension, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Component_].AsString(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.Component_, value); + } + + public string File + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.File].AsString(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.File, value); + } + + public string Description + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Description].AsString(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.Description, value); + } + + public string Group + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Group].AsString(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.Group, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsWebServiceExtensionTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsWebServiceExtensionTupleFields.Attributes, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs b/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs new file mode 100644 index 00000000..711f745f --- /dev/null +++ b/src/wixext/Tuples/IIsWebSiteCertificatesTuple.cs @@ -0,0 +1,55 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebSiteCertificates = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebSiteCertificates.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Web_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteCertificatesTupleFields.Certificate_), IntermediateFieldType.String), + }, + typeof(IIsWebSiteCertificatesTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebSiteCertificatesTupleFields + { + Web_, + Certificate_, + } + + public class IIsWebSiteCertificatesTuple : IntermediateTuple + { + public IIsWebSiteCertificatesTuple() : base(IisTupleDefinitions.IIsWebSiteCertificates, null, null) + { + } + + public IIsWebSiteCertificatesTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebSiteCertificates, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebSiteCertificatesTupleFields index] => this.Fields[(int)index]; + + public string Web_ + { + get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Web_].AsString(); + set => this.Set((int)IIsWebSiteCertificatesTupleFields.Web_, value); + } + + public string Certificate_ + { + get => this.Fields[(int)IIsWebSiteCertificatesTupleFields.Certificate_].AsString(); + set => this.Set((int)IIsWebSiteCertificatesTupleFields.Certificate_, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebSiteTuple.cs b/src/wixext/Tuples/IIsWebSiteTuple.cs new file mode 100644 index 00000000..983352a5 --- /dev/null +++ b/src/wixext/Tuples/IIsWebSiteTuple.cs @@ -0,0 +1,143 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebSite = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebSite.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Web), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Description), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.ConnectionTimeout), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Directory_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.State), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.KeyAddress_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.DirProperties_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Application_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Sequence), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.Log_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebSiteTupleFields.WebsiteId), IntermediateFieldType.String), + }, + typeof(IIsWebSiteTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebSiteTupleFields + { + Web, + Component_, + Description, + ConnectionTimeout, + Directory_, + State, + Attributes, + KeyAddress_, + DirProperties_, + Application_, + Sequence, + Log_, + WebsiteId, + } + + public class IIsWebSiteTuple : IntermediateTuple + { + public IIsWebSiteTuple() : base(IisTupleDefinitions.IIsWebSite, null, null) + { + } + + public IIsWebSiteTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebSite, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebSiteTupleFields index] => this.Fields[(int)index]; + + public string Web + { + get => this.Fields[(int)IIsWebSiteTupleFields.Web].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Web, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.Component_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Component_, value); + } + + public string Description + { + get => this.Fields[(int)IIsWebSiteTupleFields.Description].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Description, value); + } + + public int ConnectionTimeout + { + get => this.Fields[(int)IIsWebSiteTupleFields.ConnectionTimeout].AsNumber(); + set => this.Set((int)IIsWebSiteTupleFields.ConnectionTimeout, value); + } + + public string Directory_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.Directory_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Directory_, value); + } + + public int State + { + get => this.Fields[(int)IIsWebSiteTupleFields.State].AsNumber(); + set => this.Set((int)IIsWebSiteTupleFields.State, value); + } + + public int Attributes + { + get => this.Fields[(int)IIsWebSiteTupleFields.Attributes].AsNumber(); + set => this.Set((int)IIsWebSiteTupleFields.Attributes, value); + } + + public string KeyAddress_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.KeyAddress_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.KeyAddress_, value); + } + + public string DirProperties_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.DirProperties_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.DirProperties_, value); + } + + public string Application_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.Application_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Application_, value); + } + + public int Sequence + { + get => this.Fields[(int)IIsWebSiteTupleFields.Sequence].AsNumber(); + set => this.Set((int)IIsWebSiteTupleFields.Sequence, value); + } + + public string Log_ + { + get => this.Fields[(int)IIsWebSiteTupleFields.Log_].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.Log_, value); + } + + public string WebsiteId + { + get => this.Fields[(int)IIsWebSiteTupleFields.WebsiteId].AsString(); + set => this.Set((int)IIsWebSiteTupleFields.WebsiteId, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IIsWebVirtualDirTuple.cs b/src/wixext/Tuples/IIsWebVirtualDirTuple.cs new file mode 100644 index 00000000..f80804af --- /dev/null +++ b/src/wixext/Tuples/IIsWebVirtualDirTuple.cs @@ -0,0 +1,95 @@ +// 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. + +namespace WixToolset.Iis +{ + using WixToolset.Data; + using WixToolset.Iis.Tuples; + + public static partial class IisTupleDefinitions + { + public static readonly IntermediateTupleDefinition IIsWebVirtualDir = new IntermediateTupleDefinition( + IisTupleDefinitionType.IIsWebVirtualDir.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.VirtualDir), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Component_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Web_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Alias), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Directory_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.DirProperties_), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(IIsWebVirtualDirTupleFields.Application_), IntermediateFieldType.String), + }, + typeof(IIsWebVirtualDirTuple)); + } +} + +namespace WixToolset.Iis.Tuples +{ + using WixToolset.Data; + + public enum IIsWebVirtualDirTupleFields + { + VirtualDir, + Component_, + Web_, + Alias, + Directory_, + DirProperties_, + Application_, + } + + public class IIsWebVirtualDirTuple : IntermediateTuple + { + public IIsWebVirtualDirTuple() : base(IisTupleDefinitions.IIsWebVirtualDir, null, null) + { + } + + public IIsWebVirtualDirTuple(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisTupleDefinitions.IIsWebVirtualDir, sourceLineNumber, id) + { + } + + public IntermediateField this[IIsWebVirtualDirTupleFields index] => this.Fields[(int)index]; + + public string VirtualDir + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.VirtualDir].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.VirtualDir, value); + } + + public string Component_ + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.Component_].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.Component_, value); + } + + public string Web_ + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.Web_].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.Web_, value); + } + + public string Alias + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.Alias].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.Alias, value); + } + + public string Directory_ + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.Directory_].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.Directory_, value); + } + + public string DirProperties_ + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.DirProperties_].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.DirProperties_, value); + } + + public string Application_ + { + get => this.Fields[(int)IIsWebVirtualDirTupleFields.Application_].AsString(); + set => this.Set((int)IIsWebVirtualDirTupleFields.Application_, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Tuples/IisTupleDefinitions.cs b/src/wixext/Tuples/IisTupleDefinitions.cs new file mode 100644 index 00000000..4017fa27 --- /dev/null +++ b/src/wixext/Tuples/IisTupleDefinitions.cs @@ -0,0 +1,107 @@ +// 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. + +namespace WixToolset.Iis +{ + using System; + using WixToolset.Data; + + public enum IisTupleDefinitionType + { + Certificate, + CertificateHash, + IIsAppPool, + IIsFilter, + IIsHttpHeader, + IIsMimeMap, + IIsProperty, + IIsWebAddress, + IIsWebApplication, + IIsWebApplicationExtension, + IIsWebDir, + IIsWebDirProperties, + IIsWebError, + IIsWebLog, + IIsWebServiceExtension, + IIsWebSite, + IIsWebSiteCertificates, + IIsWebVirtualDir, + } + + public static partial class IisTupleDefinitions + { + public static readonly Version Version = new Version("4.0.0"); + + public static IntermediateTupleDefinition ByName(string name) + { + if (!Enum.TryParse(name, out IisTupleDefinitionType type)) + { + return null; + } + + return ByType(type); + } + + public static IntermediateTupleDefinition ByType(IisTupleDefinitionType type) + { + switch (type) + { + case IisTupleDefinitionType.Certificate: + return IisTupleDefinitions.Certificate; + + case IisTupleDefinitionType.CertificateHash: + return IisTupleDefinitions.CertificateHash; + + case IisTupleDefinitionType.IIsAppPool: + return IisTupleDefinitions.IIsAppPool; + + case IisTupleDefinitionType.IIsFilter: + return IisTupleDefinitions.IIsFilter; + + case IisTupleDefinitionType.IIsHttpHeader: + return IisTupleDefinitions.IIsHttpHeader; + + case IisTupleDefinitionType.IIsMimeMap: + return IisTupleDefinitions.IIsMimeMap; + + case IisTupleDefinitionType.IIsProperty: + return IisTupleDefinitions.IIsProperty; + + case IisTupleDefinitionType.IIsWebAddress: + return IisTupleDefinitions.IIsWebAddress; + + case IisTupleDefinitionType.IIsWebApplication: + return IisTupleDefinitions.IIsWebApplication; + + case IisTupleDefinitionType.IIsWebApplicationExtension: + return IisTupleDefinitions.IIsWebApplicationExtension; + + case IisTupleDefinitionType.IIsWebDir: + return IisTupleDefinitions.IIsWebDir; + + case IisTupleDefinitionType.IIsWebDirProperties: + return IisTupleDefinitions.IIsWebDirProperties; + + case IisTupleDefinitionType.IIsWebError: + return IisTupleDefinitions.IIsWebError; + + case IisTupleDefinitionType.IIsWebLog: + return IisTupleDefinitions.IIsWebLog; + + case IisTupleDefinitionType.IIsWebServiceExtension: + return IisTupleDefinitions.IIsWebServiceExtension; + + case IisTupleDefinitionType.IIsWebSite: + return IisTupleDefinitions.IIsWebSite; + + case IisTupleDefinitionType.IIsWebSiteCertificates: + return IisTupleDefinitions.IIsWebSiteCertificates; + + case IisTupleDefinitionType.IIsWebVirtualDir: + return IisTupleDefinitions.IIsWebVirtualDir; + + default: + throw new ArgumentOutOfRangeException(nameof(type)); + } + } + } +} -- cgit v1.2.3-55-g6feb