From 155a6e96346e0cb3d9ab6f5372fa29b46ebaee89 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 19 Dec 2017 12:25:40 -0800 Subject: Integrate simplified message handling --- .../Preprocess/IfDefEventHandler.cs | 28 ++++++++++++++ .../Preprocess/IncludedFileEventHandler.cs | 43 ++++++++++++++++++++++ .../Preprocess/ProcessedStreamEventHandler.cs | 43 ++++++++++++++++++++++ .../Preprocess/ResolvedVariableEventHandler.cs | 25 +++++++++++++ 4 files changed, 139 insertions(+) create mode 100644 src/WixToolset.Core/Preprocess/IfDefEventHandler.cs create mode 100644 src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs create mode 100644 src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs create mode 100644 src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs (limited to 'src/WixToolset.Core/Preprocess') diff --git a/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs b/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs new file mode 100644 index 00000000..ff181d61 --- /dev/null +++ b/src/WixToolset.Core/Preprocess/IfDefEventHandler.cs @@ -0,0 +1,28 @@ +// 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.Core.Preprocess +{ + using System; + using WixToolset.Data; + + public delegate void IfDefEventHandler(object sender, IfDefEventArgs e); + + public class IfDefEventArgs : EventArgs + { + public IfDefEventArgs(SourceLineNumber sourceLineNumbers, bool isIfDef, bool isDefined, string variableName) + { + this.SourceLineNumbers = sourceLineNumbers; + this.IsIfDef = isIfDef; + this.IsDefined = isDefined; + this.VariableName = variableName; + } + + public SourceLineNumber SourceLineNumbers { get; } + + public bool IsDefined { get; } + + public bool IsIfDef { get; } + + public string VariableName { get; } + } +} diff --git a/src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs b/src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs new file mode 100644 index 00000000..beba216d --- /dev/null +++ b/src/WixToolset.Core/Preprocess/IncludedFileEventHandler.cs @@ -0,0 +1,43 @@ +// 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.Core.Preprocess +{ + using System; + using WixToolset.Data; + + /// + /// Included file event handler delegate. + /// + /// Sender of the message. + /// Arguments for the included file event. + public delegate void IncludedFileEventHandler(object sender, IncludedFileEventArgs e); + + /// + /// Event args for included file event. + /// + public class IncludedFileEventArgs : EventArgs + { + /// + /// Creates a new IncludedFileEventArgs. + /// + /// Source line numbers for the included file. + /// The full path of the included file. + public IncludedFileEventArgs(SourceLineNumber sourceLineNumbers, string fullName) + { + this.SourceLineNumbers = sourceLineNumbers; + this.FullName = fullName; + } + + /// + /// Gets the full path of the included file. + /// + /// The full path of the included file. + public string FullName { get; } + + /// + /// Gets the source line numbers. + /// + /// The source line numbers. + public SourceLineNumber SourceLineNumbers { get; } + } +} diff --git a/src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs b/src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs new file mode 100644 index 00000000..434590d2 --- /dev/null +++ b/src/WixToolset.Core/Preprocess/ProcessedStreamEventHandler.cs @@ -0,0 +1,43 @@ +// 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.Core.Preprocess +{ + using System; + using System.Xml.Linq; + + /// + /// Preprocessed output stream event handler delegate. + /// + /// Sender of the message. + /// Arguments for the preprocessed stream event. + public delegate void ProcessedStreamEventHandler(object sender, ProcessedStreamEventArgs e); + + /// + /// Event args for preprocessed stream event. + /// + public class ProcessedStreamEventArgs : EventArgs + { + /// + /// Creates a new ProcessedStreamEventArgs. + /// + /// Source file that is preprocessed. + /// Preprocessed output document. + public ProcessedStreamEventArgs(string sourceFile, XDocument document) + { + this.SourceFile = sourceFile; + this.Document = document; + } + + /// + /// Gets the full path of the source file. + /// + /// The full path of the source file. + public string SourceFile { get; private set; } + + /// + /// Gets the preprocessed output stream. + /// + /// The the preprocessed output stream. + public XDocument Document { get; private set; } + } +} diff --git a/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs b/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs new file mode 100644 index 00000000..df3a7e6a --- /dev/null +++ b/src/WixToolset.Core/Preprocess/ResolvedVariableEventHandler.cs @@ -0,0 +1,25 @@ +// 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.Core.Preprocess +{ + using System; + using WixToolset.Data; + + public delegate void ResolvedVariableEventHandler(object sender, ResolvedVariableEventArgs e); + + public class ResolvedVariableEventArgs : EventArgs + { + public ResolvedVariableEventArgs(SourceLineNumber sourceLineNumbers, string variableName, string variableValue) + { + this.SourceLineNumbers = sourceLineNumbers; + this.VariableName = variableName; + this.VariableValue = variableValue; + } + + public SourceLineNumber SourceLineNumbers { get; } + + public string VariableName { get; } + + public string VariableValue { get; } + } +} -- cgit v1.2.3-55-g6feb