From 851a26c4af0b2da5c9cf22bc4be0ac3895cb11a8 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 26 Jun 2020 10:37:57 -0700 Subject: The Great Tuple to Symbol File Rename (tm) --- src/wixext/Symbols/EventManifestSymbol.cs | 55 +++++++++++ src/wixext/Symbols/FileSharePermissionsSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/FileShareSymbol.cs | 71 +++++++++++++ src/wixext/Symbols/GroupSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/PerfmonManifestSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/PerfmonSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/PerformanceCategorySymbol.cs | 71 +++++++++++++ src/wixext/Symbols/SecureObjectsSymbol.cs | 95 ++++++++++++++++++ src/wixext/Symbols/ServiceConfigSymbol.cs | 119 ++++++++++++++++++++++ src/wixext/Symbols/UserGroupSymbol.cs | 55 +++++++++++ src/wixext/Symbols/UserSymbol.cs | 79 +++++++++++++++ src/wixext/Symbols/UtilSymbolDefinitions.cs | 121 +++++++++++++++++++++++ src/wixext/Symbols/WixCloseApplicationSymbol.cs | 103 +++++++++++++++++++ src/wixext/Symbols/WixDetectSHA2SupportSymbol.cs | 33 +++++++ src/wixext/Symbols/WixFormatFilesSymbol.cs | 55 +++++++++++ src/wixext/Symbols/WixInternetShortcutSymbol.cs | 95 ++++++++++++++++++ src/wixext/Symbols/WixRemoveFolderExSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/WixRestartResourceSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/WixTouchFileSymbol.cs | 63 ++++++++++++ src/wixext/Symbols/XmlConfigSymbol.cs | 103 +++++++++++++++++++ src/wixext/Symbols/XmlFileSymbol.cs | 95 ++++++++++++++++++ 21 files changed, 1591 insertions(+) create mode 100644 src/wixext/Symbols/EventManifestSymbol.cs create mode 100644 src/wixext/Symbols/FileSharePermissionsSymbol.cs create mode 100644 src/wixext/Symbols/FileShareSymbol.cs create mode 100644 src/wixext/Symbols/GroupSymbol.cs create mode 100644 src/wixext/Symbols/PerfmonManifestSymbol.cs create mode 100644 src/wixext/Symbols/PerfmonSymbol.cs create mode 100644 src/wixext/Symbols/PerformanceCategorySymbol.cs create mode 100644 src/wixext/Symbols/SecureObjectsSymbol.cs create mode 100644 src/wixext/Symbols/ServiceConfigSymbol.cs create mode 100644 src/wixext/Symbols/UserGroupSymbol.cs create mode 100644 src/wixext/Symbols/UserSymbol.cs create mode 100644 src/wixext/Symbols/UtilSymbolDefinitions.cs create mode 100644 src/wixext/Symbols/WixCloseApplicationSymbol.cs create mode 100644 src/wixext/Symbols/WixDetectSHA2SupportSymbol.cs create mode 100644 src/wixext/Symbols/WixFormatFilesSymbol.cs create mode 100644 src/wixext/Symbols/WixInternetShortcutSymbol.cs create mode 100644 src/wixext/Symbols/WixRemoveFolderExSymbol.cs create mode 100644 src/wixext/Symbols/WixRestartResourceSymbol.cs create mode 100644 src/wixext/Symbols/WixTouchFileSymbol.cs create mode 100644 src/wixext/Symbols/XmlConfigSymbol.cs create mode 100644 src/wixext/Symbols/XmlFileSymbol.cs (limited to 'src/wixext/Symbols') diff --git a/src/wixext/Symbols/EventManifestSymbol.cs b/src/wixext/Symbols/EventManifestSymbol.cs new file mode 100644 index 00000000..ccd3c899 --- /dev/null +++ b/src/wixext/Symbols/EventManifestSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition EventManifest = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.EventManifest.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(EventManifestSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(EventManifestSymbolFields.File), IntermediateFieldType.String), + }, + typeof(EventManifestSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum EventManifestSymbolFields + { + ComponentRef, + File, + } + + public class EventManifestSymbol : IntermediateSymbol + { + public EventManifestSymbol() : base(UtilSymbolDefinitions.EventManifest, null, null) + { + } + + public EventManifestSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.EventManifest, sourceLineNumber, id) + { + } + + public IntermediateField this[EventManifestSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)EventManifestSymbolFields.ComponentRef].AsString(); + set => this.Set((int)EventManifestSymbolFields.ComponentRef, value); + } + + public string File + { + get => this.Fields[(int)EventManifestSymbolFields.File].AsString(); + set => this.Set((int)EventManifestSymbolFields.File, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/FileSharePermissionsSymbol.cs b/src/wixext/Symbols/FileSharePermissionsSymbol.cs new file mode 100644 index 00000000..3db92f22 --- /dev/null +++ b/src/wixext/Symbols/FileSharePermissionsSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition FileSharePermissions = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.FileSharePermissions.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(FileSharePermissionsSymbolFields.FileShareRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(FileSharePermissionsSymbolFields.UserRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(FileSharePermissionsSymbolFields.Permissions), IntermediateFieldType.Number), + }, + typeof(FileSharePermissionsSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum FileSharePermissionsSymbolFields + { + FileShareRef, + UserRef, + Permissions, + } + + public class FileSharePermissionsSymbol : IntermediateSymbol + { + public FileSharePermissionsSymbol() : base(UtilSymbolDefinitions.FileSharePermissions, null, null) + { + } + + public FileSharePermissionsSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.FileSharePermissions, sourceLineNumber, id) + { + } + + public IntermediateField this[FileSharePermissionsSymbolFields index] => this.Fields[(int)index]; + + public string FileShareRef + { + get => this.Fields[(int)FileSharePermissionsSymbolFields.FileShareRef].AsString(); + set => this.Set((int)FileSharePermissionsSymbolFields.FileShareRef, value); + } + + public string UserRef + { + get => this.Fields[(int)FileSharePermissionsSymbolFields.UserRef].AsString(); + set => this.Set((int)FileSharePermissionsSymbolFields.UserRef, value); + } + + public int Permissions + { + get => this.Fields[(int)FileSharePermissionsSymbolFields.Permissions].AsNumber(); + set => this.Set((int)FileSharePermissionsSymbolFields.Permissions, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/FileShareSymbol.cs b/src/wixext/Symbols/FileShareSymbol.cs new file mode 100644 index 00000000..c956ff42 --- /dev/null +++ b/src/wixext/Symbols/FileShareSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition FileShare = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.FileShare.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(FileShareSymbolFields.ShareName), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(FileShareSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(FileShareSymbolFields.Description), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(FileShareSymbolFields.DirectoryRef), IntermediateFieldType.String), + }, + typeof(FileShareSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum FileShareSymbolFields + { + ShareName, + ComponentRef, + Description, + DirectoryRef, + } + + public class FileShareSymbol : IntermediateSymbol + { + public FileShareSymbol() : base(UtilSymbolDefinitions.FileShare, null, null) + { + } + + public FileShareSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.FileShare, sourceLineNumber, id) + { + } + + public IntermediateField this[FileShareSymbolFields index] => this.Fields[(int)index]; + + public string ShareName + { + get => this.Fields[(int)FileShareSymbolFields.ShareName].AsString(); + set => this.Set((int)FileShareSymbolFields.ShareName, value); + } + + public string ComponentRef + { + get => this.Fields[(int)FileShareSymbolFields.ComponentRef].AsString(); + set => this.Set((int)FileShareSymbolFields.ComponentRef, value); + } + + public string Description + { + get => this.Fields[(int)FileShareSymbolFields.Description].AsString(); + set => this.Set((int)FileShareSymbolFields.Description, value); + } + + public string DirectoryRef + { + get => this.Fields[(int)FileShareSymbolFields.DirectoryRef].AsString(); + set => this.Set((int)FileShareSymbolFields.DirectoryRef, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/GroupSymbol.cs b/src/wixext/Symbols/GroupSymbol.cs new file mode 100644 index 00000000..b378db44 --- /dev/null +++ b/src/wixext/Symbols/GroupSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition Group = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.Group.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(GroupSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(GroupSymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(GroupSymbolFields.Domain), IntermediateFieldType.String), + }, + typeof(GroupSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum GroupSymbolFields + { + ComponentRef, + Name, + Domain, + } + + public class GroupSymbol : IntermediateSymbol + { + public GroupSymbol() : base(UtilSymbolDefinitions.Group, null, null) + { + } + + public GroupSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.Group, sourceLineNumber, id) + { + } + + public IntermediateField this[GroupSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)GroupSymbolFields.ComponentRef].AsString(); + set => this.Set((int)GroupSymbolFields.ComponentRef, value); + } + + public string Name + { + get => this.Fields[(int)GroupSymbolFields.Name].AsString(); + set => this.Set((int)GroupSymbolFields.Name, value); + } + + public string Domain + { + get => this.Fields[(int)GroupSymbolFields.Domain].AsString(); + set => this.Set((int)GroupSymbolFields.Domain, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/PerfmonManifestSymbol.cs b/src/wixext/Symbols/PerfmonManifestSymbol.cs new file mode 100644 index 00000000..03fef14e --- /dev/null +++ b/src/wixext/Symbols/PerfmonManifestSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition PerfmonManifest = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.PerfmonManifest.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(PerfmonManifestSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerfmonManifestSymbolFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerfmonManifestSymbolFields.ResourceFileDirectory), IntermediateFieldType.String), + }, + typeof(PerfmonManifestSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum PerfmonManifestSymbolFields + { + ComponentRef, + File, + ResourceFileDirectory, + } + + public class PerfmonManifestSymbol : IntermediateSymbol + { + public PerfmonManifestSymbol() : base(UtilSymbolDefinitions.PerfmonManifest, null, null) + { + } + + public PerfmonManifestSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.PerfmonManifest, sourceLineNumber, id) + { + } + + public IntermediateField this[PerfmonManifestSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)PerfmonManifestSymbolFields.ComponentRef].AsString(); + set => this.Set((int)PerfmonManifestSymbolFields.ComponentRef, value); + } + + public string File + { + get => this.Fields[(int)PerfmonManifestSymbolFields.File].AsString(); + set => this.Set((int)PerfmonManifestSymbolFields.File, value); + } + + public string ResourceFileDirectory + { + get => this.Fields[(int)PerfmonManifestSymbolFields.ResourceFileDirectory].AsString(); + set => this.Set((int)PerfmonManifestSymbolFields.ResourceFileDirectory, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/PerfmonSymbol.cs b/src/wixext/Symbols/PerfmonSymbol.cs new file mode 100644 index 00000000..6784ebd1 --- /dev/null +++ b/src/wixext/Symbols/PerfmonSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition Perfmon = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.Perfmon.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(PerfmonSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerfmonSymbolFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerfmonSymbolFields.Name), IntermediateFieldType.String), + }, + typeof(PerfmonSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum PerfmonSymbolFields + { + ComponentRef, + File, + Name, + } + + public class PerfmonSymbol : IntermediateSymbol + { + public PerfmonSymbol() : base(UtilSymbolDefinitions.Perfmon, null, null) + { + } + + public PerfmonSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.Perfmon, sourceLineNumber, id) + { + } + + public IntermediateField this[PerfmonSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)PerfmonSymbolFields.ComponentRef].AsString(); + set => this.Set((int)PerfmonSymbolFields.ComponentRef, value); + } + + public string File + { + get => this.Fields[(int)PerfmonSymbolFields.File].AsString(); + set => this.Set((int)PerfmonSymbolFields.File, value); + } + + public string Name + { + get => this.Fields[(int)PerfmonSymbolFields.Name].AsString(); + set => this.Set((int)PerfmonSymbolFields.Name, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/PerformanceCategorySymbol.cs b/src/wixext/Symbols/PerformanceCategorySymbol.cs new file mode 100644 index 00000000..5ecf388c --- /dev/null +++ b/src/wixext/Symbols/PerformanceCategorySymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition PerformanceCategory = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.PerformanceCategory.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(PerformanceCategorySymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerformanceCategorySymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerformanceCategorySymbolFields.IniData), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(PerformanceCategorySymbolFields.ConstantData), IntermediateFieldType.String), + }, + typeof(PerformanceCategorySymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum PerformanceCategorySymbolFields + { + ComponentRef, + Name, + IniData, + ConstantData, + } + + public class PerformanceCategorySymbol : IntermediateSymbol + { + public PerformanceCategorySymbol() : base(UtilSymbolDefinitions.PerformanceCategory, null, null) + { + } + + public PerformanceCategorySymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.PerformanceCategory, sourceLineNumber, id) + { + } + + public IntermediateField this[PerformanceCategorySymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)PerformanceCategorySymbolFields.ComponentRef].AsString(); + set => this.Set((int)PerformanceCategorySymbolFields.ComponentRef, value); + } + + public string Name + { + get => this.Fields[(int)PerformanceCategorySymbolFields.Name].AsString(); + set => this.Set((int)PerformanceCategorySymbolFields.Name, value); + } + + public string IniData + { + get => this.Fields[(int)PerformanceCategorySymbolFields.IniData].AsString(); + set => this.Set((int)PerformanceCategorySymbolFields.IniData, value); + } + + public string ConstantData + { + get => this.Fields[(int)PerformanceCategorySymbolFields.ConstantData].AsString(); + set => this.Set((int)PerformanceCategorySymbolFields.ConstantData, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/SecureObjectsSymbol.cs b/src/wixext/Symbols/SecureObjectsSymbol.cs new file mode 100644 index 00000000..b90df521 --- /dev/null +++ b/src/wixext/Symbols/SecureObjectsSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition SecureObjects = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.SecureObjects.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.SecureObject), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.Table), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.Domain), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.User), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.Permission), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(SecureObjectsSymbolFields.ComponentRef), IntermediateFieldType.String), + }, + typeof(SecureObjectsSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum SecureObjectsSymbolFields + { + SecureObject, + Table, + Domain, + User, + Attributes, + Permission, + ComponentRef, + } + + public class SecureObjectsSymbol : IntermediateSymbol + { + public SecureObjectsSymbol() : base(UtilSymbolDefinitions.SecureObjects, null, null) + { + } + + public SecureObjectsSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.SecureObjects, sourceLineNumber, id) + { + } + + public IntermediateField this[SecureObjectsSymbolFields index] => this.Fields[(int)index]; + + public string SecureObject + { + get => this.Fields[(int)SecureObjectsSymbolFields.SecureObject].AsString(); + set => this.Set((int)SecureObjectsSymbolFields.SecureObject, value); + } + + public string Table + { + get => this.Fields[(int)SecureObjectsSymbolFields.Table].AsString(); + set => this.Set((int)SecureObjectsSymbolFields.Table, value); + } + + public string Domain + { + get => this.Fields[(int)SecureObjectsSymbolFields.Domain].AsString(); + set => this.Set((int)SecureObjectsSymbolFields.Domain, value); + } + + public string User + { + get => this.Fields[(int)SecureObjectsSymbolFields.User].AsString(); + set => this.Set((int)SecureObjectsSymbolFields.User, value); + } + + public int Attributes + { + get => this.Fields[(int)SecureObjectsSymbolFields.Attributes].AsNumber(); + set => this.Set((int)SecureObjectsSymbolFields.Attributes, value); + } + + public int? Permission + { + get => this.Fields[(int)SecureObjectsSymbolFields.Permission].AsNullableNumber(); + set => this.Set((int)SecureObjectsSymbolFields.Permission, value); + } + + public string ComponentRef + { + get => this.Fields[(int)SecureObjectsSymbolFields.ComponentRef].AsString(); + set => this.Set((int)SecureObjectsSymbolFields.ComponentRef, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/ServiceConfigSymbol.cs b/src/wixext/Symbols/ServiceConfigSymbol.cs new file mode 100644 index 00000000..3a877f9b --- /dev/null +++ b/src/wixext/Symbols/ServiceConfigSymbol.cs @@ -0,0 +1,119 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition ServiceConfig = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.ServiceConfig.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.ServiceName), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.NewService), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.FirstFailureActionType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.SecondFailureActionType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.ThirdFailureActionType), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.ResetPeriodInDays), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.RestartServiceDelayInSeconds), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.ProgramCommandLine), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(ServiceConfigSymbolFields.RebootMessage), IntermediateFieldType.String), + }, + typeof(ServiceConfigSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum ServiceConfigSymbolFields + { + ServiceName, + ComponentRef, + NewService, + FirstFailureActionType, + SecondFailureActionType, + ThirdFailureActionType, + ResetPeriodInDays, + RestartServiceDelayInSeconds, + ProgramCommandLine, + RebootMessage, + } + + public class ServiceConfigSymbol : IntermediateSymbol + { + public ServiceConfigSymbol() : base(UtilSymbolDefinitions.ServiceConfig, null, null) + { + } + + public ServiceConfigSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.ServiceConfig, sourceLineNumber, id) + { + } + + public IntermediateField this[ServiceConfigSymbolFields index] => this.Fields[(int)index]; + + public string ServiceName + { + get => this.Fields[(int)ServiceConfigSymbolFields.ServiceName].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.ServiceName, value); + } + + public string ComponentRef + { + get => this.Fields[(int)ServiceConfigSymbolFields.ComponentRef].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.ComponentRef, value); + } + + public int NewService + { + get => this.Fields[(int)ServiceConfigSymbolFields.NewService].AsNumber(); + set => this.Set((int)ServiceConfigSymbolFields.NewService, value); + } + + public string FirstFailureActionType + { + get => this.Fields[(int)ServiceConfigSymbolFields.FirstFailureActionType].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.FirstFailureActionType, value); + } + + public string SecondFailureActionType + { + get => this.Fields[(int)ServiceConfigSymbolFields.SecondFailureActionType].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.SecondFailureActionType, value); + } + + public string ThirdFailureActionType + { + get => this.Fields[(int)ServiceConfigSymbolFields.ThirdFailureActionType].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.ThirdFailureActionType, value); + } + + public int? ResetPeriodInDays + { + get => this.Fields[(int)ServiceConfigSymbolFields.ResetPeriodInDays].AsNullableNumber(); + set => this.Set((int)ServiceConfigSymbolFields.ResetPeriodInDays, value); + } + + public int? RestartServiceDelayInSeconds + { + get => this.Fields[(int)ServiceConfigSymbolFields.RestartServiceDelayInSeconds].AsNullableNumber(); + set => this.Set((int)ServiceConfigSymbolFields.RestartServiceDelayInSeconds, value); + } + + public string ProgramCommandLine + { + get => this.Fields[(int)ServiceConfigSymbolFields.ProgramCommandLine].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.ProgramCommandLine, value); + } + + public string RebootMessage + { + get => this.Fields[(int)ServiceConfigSymbolFields.RebootMessage].AsString(); + set => this.Set((int)ServiceConfigSymbolFields.RebootMessage, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/UserGroupSymbol.cs b/src/wixext/Symbols/UserGroupSymbol.cs new file mode 100644 index 00000000..c8f3998e --- /dev/null +++ b/src/wixext/Symbols/UserGroupSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition UserGroup = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.UserGroup.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(UserGroupSymbolFields.UserRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(UserGroupSymbolFields.GroupRef), IntermediateFieldType.String), + }, + typeof(UserGroupSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum UserGroupSymbolFields + { + UserRef, + GroupRef, + } + + public class UserGroupSymbol : IntermediateSymbol + { + public UserGroupSymbol() : base(UtilSymbolDefinitions.UserGroup, null, null) + { + } + + public UserGroupSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.UserGroup, sourceLineNumber, id) + { + } + + public IntermediateField this[UserGroupSymbolFields index] => this.Fields[(int)index]; + + public string UserRef + { + get => this.Fields[(int)UserGroupSymbolFields.UserRef].AsString(); + set => this.Set((int)UserGroupSymbolFields.UserRef, value); + } + + public string GroupRef + { + get => this.Fields[(int)UserGroupSymbolFields.GroupRef].AsString(); + set => this.Set((int)UserGroupSymbolFields.GroupRef, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/UserSymbol.cs b/src/wixext/Symbols/UserSymbol.cs new file mode 100644 index 00000000..5f00064b --- /dev/null +++ b/src/wixext/Symbols/UserSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition User = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.User.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(UserSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(UserSymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(UserSymbolFields.Domain), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(UserSymbolFields.Password), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(UserSymbolFields.Attributes), IntermediateFieldType.Number), + }, + typeof(UserSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum UserSymbolFields + { + ComponentRef, + Name, + Domain, + Password, + Attributes, + } + + public class UserSymbol : IntermediateSymbol + { + public UserSymbol() : base(UtilSymbolDefinitions.User, null, null) + { + } + + public UserSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.User, sourceLineNumber, id) + { + } + + public IntermediateField this[UserSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)UserSymbolFields.ComponentRef].AsString(); + set => this.Set((int)UserSymbolFields.ComponentRef, value); + } + + public string Name + { + get => this.Fields[(int)UserSymbolFields.Name].AsString(); + set => this.Set((int)UserSymbolFields.Name, value); + } + + public string Domain + { + get => this.Fields[(int)UserSymbolFields.Domain].AsString(); + set => this.Set((int)UserSymbolFields.Domain, value); + } + + public string Password + { + get => this.Fields[(int)UserSymbolFields.Password].AsString(); + set => this.Set((int)UserSymbolFields.Password, value); + } + + public int Attributes + { + get => this.Fields[(int)UserSymbolFields.Attributes].AsNumber(); + set => this.Set((int)UserSymbolFields.Attributes, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/UtilSymbolDefinitions.cs b/src/wixext/Symbols/UtilSymbolDefinitions.cs new file mode 100644 index 00000000..ae9c4c81 --- /dev/null +++ b/src/wixext/Symbols/UtilSymbolDefinitions.cs @@ -0,0 +1,121 @@ +// 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.Util +{ + using System; + using WixToolset.Data; + using WixToolset.Data.Burn; + + public enum UtilSymbolDefinitionType + { + EventManifest, + FileShare, + FileSharePermissions, + Group, + Perfmon, + PerfmonManifest, + PerformanceCategory, + SecureObjects, + ServiceConfig, + User, + UserGroup, + WixCloseApplication, + WixDetectSHA2Support, + WixFormatFiles, + WixInternetShortcut, + WixRemoveFolderEx, + WixRestartResource, + WixTouchFile, + XmlConfig, + XmlFile, + } + + public static partial class UtilSymbolDefinitions + { + public static readonly Version Version = new Version("4.0.0"); + + public static IntermediateSymbolDefinition ByName(string name) + { + if (!Enum.TryParse(name, out UtilSymbolDefinitionType type)) + { + return null; + } + + return ByType(type); + } + + public static IntermediateSymbolDefinition ByType(UtilSymbolDefinitionType type) + { + switch (type) + { + case UtilSymbolDefinitionType.EventManifest: + return UtilSymbolDefinitions.EventManifest; + + case UtilSymbolDefinitionType.FileShare: + return UtilSymbolDefinitions.FileShare; + + case UtilSymbolDefinitionType.FileSharePermissions: + return UtilSymbolDefinitions.FileSharePermissions; + + case UtilSymbolDefinitionType.Group: + return UtilSymbolDefinitions.Group; + + case UtilSymbolDefinitionType.Perfmon: + return UtilSymbolDefinitions.Perfmon; + + case UtilSymbolDefinitionType.PerfmonManifest: + return UtilSymbolDefinitions.PerfmonManifest; + + case UtilSymbolDefinitionType.PerformanceCategory: + return UtilSymbolDefinitions.PerformanceCategory; + + case UtilSymbolDefinitionType.SecureObjects: + return UtilSymbolDefinitions.SecureObjects; + + case UtilSymbolDefinitionType.ServiceConfig: + return UtilSymbolDefinitions.ServiceConfig; + + case UtilSymbolDefinitionType.User: + return UtilSymbolDefinitions.User; + + case UtilSymbolDefinitionType.UserGroup: + return UtilSymbolDefinitions.UserGroup; + + case UtilSymbolDefinitionType.WixCloseApplication: + return UtilSymbolDefinitions.WixCloseApplication; + + case UtilSymbolDefinitionType.WixDetectSHA2Support: + return UtilSymbolDefinitions.WixDetectSHA2Support; + + case UtilSymbolDefinitionType.WixFormatFiles: + return UtilSymbolDefinitions.WixFormatFiles; + + case UtilSymbolDefinitionType.WixInternetShortcut: + return UtilSymbolDefinitions.WixInternetShortcut; + + case UtilSymbolDefinitionType.WixRemoveFolderEx: + return UtilSymbolDefinitions.WixRemoveFolderEx; + + case UtilSymbolDefinitionType.WixRestartResource: + return UtilSymbolDefinitions.WixRestartResource; + + case UtilSymbolDefinitionType.WixTouchFile: + return UtilSymbolDefinitions.WixTouchFile; + + case UtilSymbolDefinitionType.XmlConfig: + return UtilSymbolDefinitions.XmlConfig; + + case UtilSymbolDefinitionType.XmlFile: + return UtilSymbolDefinitions.XmlFile; + + default: + throw new ArgumentOutOfRangeException(nameof(type)); + } + } + + static UtilSymbolDefinitions() + { + WixDetectSHA2Support.AddTag(BurnConstants.BundleExtensionSearchSymbolDefinitionTag); + } + } +} diff --git a/src/wixext/Symbols/WixCloseApplicationSymbol.cs b/src/wixext/Symbols/WixCloseApplicationSymbol.cs new file mode 100644 index 00000000..0738e3e4 --- /dev/null +++ b/src/wixext/Symbols/WixCloseApplicationSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixCloseApplication = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixCloseApplication.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Target), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Description), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Condition), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Sequence), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Property), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.TerminateExitCode), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(WixCloseApplicationSymbolFields.Timeout), IntermediateFieldType.Number), + }, + typeof(WixCloseApplicationSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixCloseApplicationSymbolFields + { + Target, + Description, + Condition, + Attributes, + Sequence, + Property, + TerminateExitCode, + Timeout, + } + + public class WixCloseApplicationSymbol : IntermediateSymbol + { + public WixCloseApplicationSymbol() : base(UtilSymbolDefinitions.WixCloseApplication, null, null) + { + } + + public WixCloseApplicationSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixCloseApplication, sourceLineNumber, id) + { + } + + public IntermediateField this[WixCloseApplicationSymbolFields index] => this.Fields[(int)index]; + + public string Target + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Target].AsString(); + set => this.Set((int)WixCloseApplicationSymbolFields.Target, value); + } + + public string Description + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Description].AsString(); + set => this.Set((int)WixCloseApplicationSymbolFields.Description, value); + } + + public string Condition + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Condition].AsString(); + set => this.Set((int)WixCloseApplicationSymbolFields.Condition, value); + } + + public int Attributes + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Attributes].AsNumber(); + set => this.Set((int)WixCloseApplicationSymbolFields.Attributes, value); + } + + public int? Sequence + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Sequence].AsNullableNumber(); + set => this.Set((int)WixCloseApplicationSymbolFields.Sequence, value); + } + + public string Property + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Property].AsString(); + set => this.Set((int)WixCloseApplicationSymbolFields.Property, value); + } + + public int? TerminateExitCode + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.TerminateExitCode].AsNullableNumber(); + set => this.Set((int)WixCloseApplicationSymbolFields.TerminateExitCode, value); + } + + public int? Timeout + { + get => this.Fields[(int)WixCloseApplicationSymbolFields.Timeout].AsNullableNumber(); + set => this.Set((int)WixCloseApplicationSymbolFields.Timeout, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/WixDetectSHA2SupportSymbol.cs b/src/wixext/Symbols/WixDetectSHA2SupportSymbol.cs new file mode 100644 index 00000000..b518ba3b --- /dev/null +++ b/src/wixext/Symbols/WixDetectSHA2SupportSymbol.cs @@ -0,0 +1,33 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixDetectSHA2Support = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixDetectSHA2Support.ToString(), + new IntermediateFieldDefinition[0], + typeof(WixDetectSHA2SupportSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public class WixDetectSHA2SupportSymbol : IntermediateSymbol + { + public WixDetectSHA2SupportSymbol() : base(UtilSymbolDefinitions.WixDetectSHA2Support, null, null) + { + } + + public WixDetectSHA2SupportSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixDetectSHA2Support, sourceLineNumber, id) + { + } + + public IntermediateField this[GroupSymbolFields index] => this.Fields[(int)index]; + } +} diff --git a/src/wixext/Symbols/WixFormatFilesSymbol.cs b/src/wixext/Symbols/WixFormatFilesSymbol.cs new file mode 100644 index 00000000..38a9b8ff --- /dev/null +++ b/src/wixext/Symbols/WixFormatFilesSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixFormatFiles = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixFormatFiles.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixFormatFilesSymbolFields.BinaryRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixFormatFilesSymbolFields.FileRef), IntermediateFieldType.String), + }, + typeof(WixFormatFilesSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixFormatFilesSymbolFields + { + BinaryRef, + FileRef, + } + + public class WixFormatFilesSymbol : IntermediateSymbol + { + public WixFormatFilesSymbol() : base(UtilSymbolDefinitions.WixFormatFiles, null, null) + { + } + + public WixFormatFilesSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixFormatFiles, sourceLineNumber, id) + { + } + + public IntermediateField this[WixFormatFilesSymbolFields index] => this.Fields[(int)index]; + + public string BinaryRef + { + get => this.Fields[(int)WixFormatFilesSymbolFields.BinaryRef].AsString(); + set => this.Set((int)WixFormatFilesSymbolFields.BinaryRef, value); + } + + public string FileRef + { + get => this.Fields[(int)WixFormatFilesSymbolFields.FileRef].AsString(); + set => this.Set((int)WixFormatFilesSymbolFields.FileRef, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/WixInternetShortcutSymbol.cs b/src/wixext/Symbols/WixInternetShortcutSymbol.cs new file mode 100644 index 00000000..e8265e02 --- /dev/null +++ b/src/wixext/Symbols/WixInternetShortcutSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixInternetShortcut = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixInternetShortcut.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.DirectoryRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.Target), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.Attributes), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.IconFile), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixInternetShortcutSymbolFields.IconIndex), IntermediateFieldType.Number), + }, + typeof(WixInternetShortcutSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixInternetShortcutSymbolFields + { + ComponentRef, + DirectoryRef, + Name, + Target, + Attributes, + IconFile, + IconIndex, + } + + public class WixInternetShortcutSymbol : IntermediateSymbol + { + public WixInternetShortcutSymbol() : base(UtilSymbolDefinitions.WixInternetShortcut, null, null) + { + } + + public WixInternetShortcutSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixInternetShortcut, sourceLineNumber, id) + { + } + + public IntermediateField this[WixInternetShortcutSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.ComponentRef].AsString(); + set => this.Set((int)WixInternetShortcutSymbolFields.ComponentRef, value); + } + + public string DirectoryRef + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.DirectoryRef].AsString(); + set => this.Set((int)WixInternetShortcutSymbolFields.DirectoryRef, value); + } + + public string Name + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.Name].AsString(); + set => this.Set((int)WixInternetShortcutSymbolFields.Name, value); + } + + public string Target + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.Target].AsString(); + set => this.Set((int)WixInternetShortcutSymbolFields.Target, value); + } + + public int Attributes + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.Attributes].AsNumber(); + set => this.Set((int)WixInternetShortcutSymbolFields.Attributes, value); + } + + public string IconFile + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.IconFile].AsString(); + set => this.Set((int)WixInternetShortcutSymbolFields.IconFile, value); + } + + public int? IconIndex + { + get => this.Fields[(int)WixInternetShortcutSymbolFields.IconIndex].AsNullableNumber(); + set => this.Set((int)WixInternetShortcutSymbolFields.IconIndex, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/WixRemoveFolderExSymbol.cs b/src/wixext/Symbols/WixRemoveFolderExSymbol.cs new file mode 100644 index 00000000..0c50ab8e --- /dev/null +++ b/src/wixext/Symbols/WixRemoveFolderExSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixRemoveFolderEx = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixRemoveFolderEx.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixRemoveFolderExSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixRemoveFolderExSymbolFields.Property), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixRemoveFolderExSymbolFields.InstallMode), IntermediateFieldType.Number), + }, + typeof(WixRemoveFolderExSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixRemoveFolderExSymbolFields + { + ComponentRef, + Property, + InstallMode, + } + + public class WixRemoveFolderExSymbol : IntermediateSymbol + { + public WixRemoveFolderExSymbol() : base(UtilSymbolDefinitions.WixRemoveFolderEx, null, null) + { + } + + public WixRemoveFolderExSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixRemoveFolderEx, sourceLineNumber, id) + { + } + + public IntermediateField this[WixRemoveFolderExSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)WixRemoveFolderExSymbolFields.ComponentRef].AsString(); + set => this.Set((int)WixRemoveFolderExSymbolFields.ComponentRef, value); + } + + public string Property + { + get => this.Fields[(int)WixRemoveFolderExSymbolFields.Property].AsString(); + set => this.Set((int)WixRemoveFolderExSymbolFields.Property, value); + } + + public int InstallMode + { + get => this.Fields[(int)WixRemoveFolderExSymbolFields.InstallMode].AsNumber(); + set => this.Set((int)WixRemoveFolderExSymbolFields.InstallMode, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/WixRestartResourceSymbol.cs b/src/wixext/Symbols/WixRestartResourceSymbol.cs new file mode 100644 index 00000000..7f76f1b8 --- /dev/null +++ b/src/wixext/Symbols/WixRestartResourceSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixRestartResource = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixRestartResource.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixRestartResourceSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixRestartResourceSymbolFields.Resource), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixRestartResourceSymbolFields.Attributes), IntermediateFieldType.Number), + }, + typeof(WixRestartResourceSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixRestartResourceSymbolFields + { + ComponentRef, + Resource, + Attributes, + } + + public class WixRestartResourceSymbol : IntermediateSymbol + { + public WixRestartResourceSymbol() : base(UtilSymbolDefinitions.WixRestartResource, null, null) + { + } + + public WixRestartResourceSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixRestartResource, sourceLineNumber, id) + { + } + + public IntermediateField this[WixRestartResourceSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)WixRestartResourceSymbolFields.ComponentRef].AsString(); + set => this.Set((int)WixRestartResourceSymbolFields.ComponentRef, value); + } + + public string Resource + { + get => this.Fields[(int)WixRestartResourceSymbolFields.Resource].AsString(); + set => this.Set((int)WixRestartResourceSymbolFields.Resource, value); + } + + public int Attributes + { + get => this.Fields[(int)WixRestartResourceSymbolFields.Attributes].AsNumber(); + set => this.Set((int)WixRestartResourceSymbolFields.Attributes, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/WixTouchFileSymbol.cs b/src/wixext/Symbols/WixTouchFileSymbol.cs new file mode 100644 index 00000000..447c21ba --- /dev/null +++ b/src/wixext/Symbols/WixTouchFileSymbol.cs @@ -0,0 +1,63 @@ +// 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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition WixTouchFile = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.WixTouchFile.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(WixTouchFileSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixTouchFileSymbolFields.Path), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(WixTouchFileSymbolFields.Attributes), IntermediateFieldType.Number), + }, + typeof(WixTouchFileSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum WixTouchFileSymbolFields + { + ComponentRef, + Path, + Attributes, + } + + public class WixTouchFileSymbol : IntermediateSymbol + { + public WixTouchFileSymbol() : base(UtilSymbolDefinitions.WixTouchFile, null, null) + { + } + + public WixTouchFileSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.WixTouchFile, sourceLineNumber, id) + { + } + + public IntermediateField this[WixTouchFileSymbolFields index] => this.Fields[(int)index]; + + public string ComponentRef + { + get => this.Fields[(int)WixTouchFileSymbolFields.ComponentRef].AsString(); + set => this.Set((int)WixTouchFileSymbolFields.ComponentRef, value); + } + + public string Path + { + get => this.Fields[(int)WixTouchFileSymbolFields.Path].AsString(); + set => this.Set((int)WixTouchFileSymbolFields.Path, value); + } + + public int Attributes + { + get => this.Fields[(int)WixTouchFileSymbolFields.Attributes].AsNumber(); + set => this.Set((int)WixTouchFileSymbolFields.Attributes, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/XmlConfigSymbol.cs b/src/wixext/Symbols/XmlConfigSymbol.cs new file mode 100644 index 00000000..ca1cf047 --- /dev/null +++ b/src/wixext/Symbols/XmlConfigSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition XmlConfig = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.XmlConfig.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.ElementPath), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.VerifyPath), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Value), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Flags), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlConfigSymbolFields.Sequence), IntermediateFieldType.Number), + }, + typeof(XmlConfigSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum XmlConfigSymbolFields + { + File, + ElementPath, + VerifyPath, + Name, + Value, + Flags, + ComponentRef, + Sequence, + } + + public class XmlConfigSymbol : IntermediateSymbol + { + public XmlConfigSymbol() : base(UtilSymbolDefinitions.XmlConfig, null, null) + { + } + + public XmlConfigSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.XmlConfig, sourceLineNumber, id) + { + } + + public IntermediateField this[XmlConfigSymbolFields index] => this.Fields[(int)index]; + + public string File + { + get => this.Fields[(int)XmlConfigSymbolFields.File].AsString(); + set => this.Set((int)XmlConfigSymbolFields.File, value); + } + + public string ElementPath + { + get => this.Fields[(int)XmlConfigSymbolFields.ElementPath].AsString(); + set => this.Set((int)XmlConfigSymbolFields.ElementPath, value); + } + + public string VerifyPath + { + get => this.Fields[(int)XmlConfigSymbolFields.VerifyPath].AsString(); + set => this.Set((int)XmlConfigSymbolFields.VerifyPath, value); + } + + public string Name + { + get => this.Fields[(int)XmlConfigSymbolFields.Name].AsString(); + set => this.Set((int)XmlConfigSymbolFields.Name, value); + } + + public string Value + { + get => this.Fields[(int)XmlConfigSymbolFields.Value].AsString(); + set => this.Set((int)XmlConfigSymbolFields.Value, value); + } + + public int Flags + { + get => this.Fields[(int)XmlConfigSymbolFields.Flags].AsNumber(); + set => this.Set((int)XmlConfigSymbolFields.Flags, value); + } + + public string ComponentRef + { + get => this.Fields[(int)XmlConfigSymbolFields.ComponentRef].AsString(); + set => this.Set((int)XmlConfigSymbolFields.ComponentRef, value); + } + + public int? Sequence + { + get => this.Fields[(int)XmlConfigSymbolFields.Sequence].AsNullableNumber(); + set => this.Set((int)XmlConfigSymbolFields.Sequence, value); + } + } +} \ No newline at end of file diff --git a/src/wixext/Symbols/XmlFileSymbol.cs b/src/wixext/Symbols/XmlFileSymbol.cs new file mode 100644 index 00000000..7d5d991b --- /dev/null +++ b/src/wixext/Symbols/XmlFileSymbol.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.Util +{ + using WixToolset.Data; + using WixToolset.Util.Symbols; + + public static partial class UtilSymbolDefinitions + { + public static readonly IntermediateSymbolDefinition XmlFile = new IntermediateSymbolDefinition( + UtilSymbolDefinitionType.XmlFile.ToString(), + new[] + { + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.File), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.ElementPath), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.Name), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.Value), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.Flags), IntermediateFieldType.Number), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.ComponentRef), IntermediateFieldType.String), + new IntermediateFieldDefinition(nameof(XmlFileSymbolFields.Sequence), IntermediateFieldType.Number), + }, + typeof(XmlFileSymbol)); + } +} + +namespace WixToolset.Util.Symbols +{ + using WixToolset.Data; + + public enum XmlFileSymbolFields + { + File, + ElementPath, + Name, + Value, + Flags, + ComponentRef, + Sequence, + } + + public class XmlFileSymbol : IntermediateSymbol + { + public XmlFileSymbol() : base(UtilSymbolDefinitions.XmlFile, null, null) + { + } + + public XmlFileSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(UtilSymbolDefinitions.XmlFile, sourceLineNumber, id) + { + } + + public IntermediateField this[XmlFileSymbolFields index] => this.Fields[(int)index]; + + public string File + { + get => this.Fields[(int)XmlFileSymbolFields.File].AsString(); + set => this.Set((int)XmlFileSymbolFields.File, value); + } + + public string ElementPath + { + get => this.Fields[(int)XmlFileSymbolFields.ElementPath].AsString(); + set => this.Set((int)XmlFileSymbolFields.ElementPath, value); + } + + public string Name + { + get => this.Fields[(int)XmlFileSymbolFields.Name].AsString(); + set => this.Set((int)XmlFileSymbolFields.Name, value); + } + + public string Value + { + get => this.Fields[(int)XmlFileSymbolFields.Value].AsString(); + set => this.Set((int)XmlFileSymbolFields.Value, value); + } + + public int Flags + { + get => this.Fields[(int)XmlFileSymbolFields.Flags].AsNumber(); + set => this.Set((int)XmlFileSymbolFields.Flags, value); + } + + public string ComponentRef + { + get => this.Fields[(int)XmlFileSymbolFields.ComponentRef].AsString(); + set => this.Set((int)XmlFileSymbolFields.ComponentRef, value); + } + + public int? Sequence + { + get => this.Fields[(int)XmlFileSymbolFields.Sequence].AsNullableNumber(); + set => this.Set((int)XmlFileSymbolFields.Sequence, value); + } + } +} \ No newline at end of file -- cgit v1.2.3-55-g6feb