main
cs 60 lines 2.05 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.BootstrapperApplications
4 {
5 using WixToolset.Data;
6 using WixToolset.BootstrapperApplications.Symbols;
7
8 public static partial class BalSymbolDefinitions
9 {
10 public static readonly IntermediateSymbolDefinition WixBalBootstrapperApplication = new IntermediateSymbolDefinition(
11 BalSymbolDefinitionType.WixBalBootstrapperApplication.ToString(),
12 new[]
13 {
14 new IntermediateFieldDefinition(nameof(WixBalBootstrapperApplicationSymbolFields.Type), IntermediateFieldType.Number),
15 },
16 typeof(WixBalBootstrapperApplicationSymbol));
17 }
18 }
19
20 namespace WixToolset.BootstrapperApplications.Symbols
21 {
22 using System;
23 using WixToolset.Data;
24
25 public enum WixBalBootstrapperApplicationType
26 {
27 Unknown,
28 Standard,
29 [Obsolete]
30 ManagedHost,
31 [Obsolete]
32 DotNetCoreHost,
33 InternalUi,
34 Prerequisite,
35 }
36
37 public enum WixBalBootstrapperApplicationSymbolFields
38 {
39 Type,
40 }
41
42 public class WixBalBootstrapperApplicationSymbol : IntermediateSymbol
43 {
44 public WixBalBootstrapperApplicationSymbol() : base(BalSymbolDefinitions.WixBalBootstrapperApplication, null, null)
45 {
46 }
47
48 public WixBalBootstrapperApplicationSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(BalSymbolDefinitions.WixBalBootstrapperApplication, sourceLineNumber, id)
49 {
50 }
51
52 public IntermediateField this[WixBalBootstrapperApplicationSymbolFields index] => this.Fields[(int)index];
53
54 public WixBalBootstrapperApplicationType Type
55 {
56 get => (WixBalBootstrapperApplicationType)this.Fields[(int)WixBalBootstrapperApplicationSymbolFields.Type].AsNumber();
57 set => this.Set((int)WixBalBootstrapperApplicationSymbolFields.Type, (int)value);
58 }
59 }
60 }