aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Iis/wixext/Symbols/IIsWebApplicationSymbol.cs
blob: 2f6f87debefb0ce7f9401e629ea20605f3a9d6a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// 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.Symbols;

    public static partial class IisSymbolDefinitions
    {
        public static readonly IntermediateSymbolDefinition IIsWebApplication = new IntermediateSymbolDefinition(
            IisSymbolDefinitionType.IIsWebApplication.ToString(),
            new[]
            {
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.Name), IntermediateFieldType.String),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.Isolation), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.AllowSessions), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.SessionTimeout), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.Buffer), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.ParentPaths), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.DefaultScript), IntermediateFieldType.String),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.ScriptTimeout), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.ServerDebugging), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.ClientDebugging), IntermediateFieldType.Number),
                new IntermediateFieldDefinition(nameof(IIsWebApplicationSymbolFields.AppPoolRef), IntermediateFieldType.String),
            },
            typeof(IIsWebApplicationSymbol));
    }
}

namespace WixToolset.Iis.Symbols
{
    using WixToolset.Data;

    public enum IIsWebApplicationSymbolFields
    {
        Name,
        Isolation,
        AllowSessions,
        SessionTimeout,
        Buffer,
        ParentPaths,
        DefaultScript,
        ScriptTimeout,
        ServerDebugging,
        ClientDebugging,
        AppPoolRef,
    }

    public class IIsWebApplicationSymbol : IntermediateSymbol
    {
        public IIsWebApplicationSymbol() : base(IisSymbolDefinitions.IIsWebApplication, null, null)
        {
        }

        public IIsWebApplicationSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(IisSymbolDefinitions.IIsWebApplication, sourceLineNumber, id)
        {
        }

        public IntermediateField this[IIsWebApplicationSymbolFields index] => this.Fields[(int)index];

        public string Name
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.Name].AsString();
            set => this.Set((int)IIsWebApplicationSymbolFields.Name, value);
        }

        public int Isolation
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.Isolation].AsNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.Isolation, value);
        }

        public int? AllowSessions
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.AllowSessions].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.AllowSessions, value);
        }

        public int? SessionTimeout
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.SessionTimeout].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.SessionTimeout, value);
        }

        public int? Buffer
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.Buffer].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.Buffer, value);
        }

        public int? ParentPaths
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.ParentPaths].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.ParentPaths, value);
        }

        public string DefaultScript
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.DefaultScript].AsString();
            set => this.Set((int)IIsWebApplicationSymbolFields.DefaultScript, value);
        }

        public int? ScriptTimeout
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.ScriptTimeout].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.ScriptTimeout, value);
        }

        public int? ServerDebugging
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.ServerDebugging].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.ServerDebugging, value);
        }

        public int? ClientDebugging
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.ClientDebugging].AsNullableNumber();
            set => this.Set((int)IIsWebApplicationSymbolFields.ClientDebugging, value);
        }

        public string AppPoolRef
        {
            get => this.Fields[(int)IIsWebApplicationSymbolFields.AppPoolRef].AsString();
            set => this.Set((int)IIsWebApplicationSymbolFields.AppPoolRef, value);
        }
    }
}