From aea4e48d8408689c5749d154dddcfb99ddfb257b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sun, 11 Apr 2021 12:20:54 -0700 Subject: Move RestartResource attributes to symbol --- src/wixext/Symbols/WixRestartResourceSymbol.cs | 14 +++++++++++--- src/wixext/UtilCompiler.cs | 22 +++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/wixext/Symbols/WixRestartResourceSymbol.cs b/src/wixext/Symbols/WixRestartResourceSymbol.cs index 7f76f1b8..01b92b63 100644 --- a/src/wixext/Symbols/WixRestartResourceSymbol.cs +++ b/src/wixext/Symbols/WixRestartResourceSymbol.cs @@ -30,6 +30,14 @@ namespace WixToolset.Util.Symbols Attributes, } + public enum WixRestartResourceAttributes + { + Filename = 1, + ProcessName, + ServiceName, + TypeMask = 0xf, + } + public class WixRestartResourceSymbol : IntermediateSymbol { public WixRestartResourceSymbol() : base(UtilSymbolDefinitions.WixRestartResource, null, null) @@ -54,10 +62,10 @@ namespace WixToolset.Util.Symbols set => this.Set((int)WixRestartResourceSymbolFields.Resource, value); } - public int Attributes + public WixRestartResourceAttributes? Attributes { - get => this.Fields[(int)WixRestartResourceSymbolFields.Attributes].AsNumber(); - set => this.Set((int)WixRestartResourceSymbolFields.Attributes, value); + get => (WixRestartResourceAttributes?)this.Fields[(int)WixRestartResourceSymbolFields.Attributes].AsNullableNumber(); + set => this.Set((int)WixRestartResourceSymbolFields.Attributes, (int?)value); } } } \ No newline at end of file diff --git a/src/wixext/UtilCompiler.cs b/src/wixext/UtilCompiler.cs index c0312f48..12213e63 100644 --- a/src/wixext/UtilCompiler.cs +++ b/src/wixext/UtilCompiler.cs @@ -41,14 +41,6 @@ namespace WixToolset.Util Compatible, } - internal enum WixRestartResourceAttributes - { - Filename = 1, - ProcessName, - ServiceName, - TypeMask = 0xf, - } - internal enum WixRemoveFolderExOn { Install = 1, @@ -2909,7 +2901,7 @@ namespace WixToolset.Util var sourceLineNumbers = this.ParseHelper.GetSourceLineNumbers(element); Identifier id = null; string resource = null; - var attributes = CompilerConstants.IntegerNotSet; + WixRestartResourceAttributes? attributes = null; foreach (var attrib in element.Attributes()) { @@ -2923,17 +2915,17 @@ namespace WixToolset.Util case "Path": resource = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); - attributes = (int)WixRestartResourceAttributes.Filename; + attributes = WixRestartResourceAttributes.Filename; break; case "ProcessName": resource = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); - attributes = (int)WixRestartResourceAttributes.ProcessName; + attributes = WixRestartResourceAttributes.ProcessName; break; case "ServiceName": resource = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); - attributes = (int)WixRestartResourceAttributes.ServiceName; + attributes = WixRestartResourceAttributes.ServiceName; break; default: @@ -2948,14 +2940,14 @@ namespace WixToolset.Util } // Validate the attribute. - if (null == id) + if (id == null) { id = this.ParseHelper.CreateIdentifier("wrr", componentId, resource, attributes.ToString()); } - if (String.IsNullOrEmpty(resource) || CompilerConstants.IntegerNotSet == attributes) + if (!attributes.HasValue) { - this.Messaging.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, element.Name.LocalName, "Path", "ServiceName")); + this.Messaging.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, element.Name.LocalName, "Path", "ProcessName", "ServiceName")); } this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); -- cgit v1.2.3-55-g6feb