From 5287c9ce70877b6b1e96d3253a395101fe30de8f Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 21 Dec 2017 13:37:19 -0800 Subject: Introduce IResolveExtension and IFileSystemExtension with cleanup --- .../BaseResolverExtension.cs | 38 ++++++++++++++ .../BinderExtensionBase.cs | 55 -------------------- src/WixToolset.Extensibility/IBackend.cs | 1 - src/WixToolset.Extensibility/IBindContext.cs | 52 +++++++++++++++++++ .../IBindVariableResolver.cs | 26 ---------- src/WixToolset.Extensibility/IBinderExtension.cs | 37 -------------- .../IBinderFileManagerCore.cs | 55 -------------------- src/WixToolset.Extensibility/IFileSystemContext.cs | 25 +++++++++ .../IFileSystemExtension.cs | 18 +++++++ src/WixToolset.Extensibility/ILayoutContext.cs | 34 +++++++++++++ src/WixToolset.Extensibility/ILayoutExtension.cs | 20 ++++++++ .../ILibrarianExtension.cs | 2 +- src/WixToolset.Extensibility/ILibraryContext.cs | 2 - src/WixToolset.Extensibility/ILinkContext.cs | 26 ++++++++++ src/WixToolset.Extensibility/IResolveContext.cs | 26 ++++++++++ src/WixToolset.Extensibility/IResolverExtension.cs | 25 +++++++++ src/WixToolset.Extensibility/ResolveResult.cs | 18 +++++++ .../Services/BindVariableResolution.cs | 27 ++++++++++ .../Services/IBindContext.cs | 59 ---------------------- .../Services/IBindVariableResolver.cs | 17 +++++++ .../Services/ILinkContext.cs | 25 --------- 21 files changed, 327 insertions(+), 261 deletions(-) create mode 100644 src/WixToolset.Extensibility/BaseResolverExtension.cs delete mode 100644 src/WixToolset.Extensibility/BinderExtensionBase.cs create mode 100644 src/WixToolset.Extensibility/IBindContext.cs delete mode 100644 src/WixToolset.Extensibility/IBindVariableResolver.cs delete mode 100644 src/WixToolset.Extensibility/IBinderExtension.cs delete mode 100644 src/WixToolset.Extensibility/IBinderFileManagerCore.cs create mode 100644 src/WixToolset.Extensibility/IFileSystemContext.cs create mode 100644 src/WixToolset.Extensibility/IFileSystemExtension.cs create mode 100644 src/WixToolset.Extensibility/ILayoutContext.cs create mode 100644 src/WixToolset.Extensibility/ILayoutExtension.cs create mode 100644 src/WixToolset.Extensibility/ILinkContext.cs create mode 100644 src/WixToolset.Extensibility/IResolveContext.cs create mode 100644 src/WixToolset.Extensibility/IResolverExtension.cs create mode 100644 src/WixToolset.Extensibility/ResolveResult.cs create mode 100644 src/WixToolset.Extensibility/Services/BindVariableResolution.cs delete mode 100644 src/WixToolset.Extensibility/Services/IBindContext.cs create mode 100644 src/WixToolset.Extensibility/Services/IBindVariableResolver.cs delete mode 100644 src/WixToolset.Extensibility/Services/ILinkContext.cs (limited to 'src') diff --git a/src/WixToolset.Extensibility/BaseResolverExtension.cs b/src/WixToolset.Extensibility/BaseResolverExtension.cs new file mode 100644 index 00000000..9498d126 --- /dev/null +++ b/src/WixToolset.Extensibility/BaseResolverExtension.cs @@ -0,0 +1,38 @@ +// 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.Extensibility +{ + using WixToolset.Data; + using WixToolset.Data.Bind; + + /// + /// Base class for creating a resolver extension. + /// + public abstract class BaseResolverExtension : IResolverExtension + { + /// + /// Context for use by the extension. + /// + protected IResolveContext Context { get; private set; } + + /// + /// Called at the beginning of the resolving variables and files. + /// + public virtual void PreResolve(IResolveContext context) + { + this.Context = context; + } + + public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) + { + return null; + } + + /// + /// Called at the end of resolve. + /// + public virtual void PostResolve(ResolveResult result) + { + } + } +} diff --git a/src/WixToolset.Extensibility/BinderExtensionBase.cs b/src/WixToolset.Extensibility/BinderExtensionBase.cs deleted file mode 100644 index f3f3d63b..00000000 --- a/src/WixToolset.Extensibility/BinderExtensionBase.cs +++ /dev/null @@ -1,55 +0,0 @@ -// 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.Extensibility -{ - using WixToolset.Data; - using WixToolset.Data.Bind; - using WixToolset.Extensibility.Services; - - public abstract class BinderExtensionBase : IBinderExtension - { - protected IBindContext Context { get; private set; } - - /// - /// Called before binding occurs. - /// - public virtual void PreBind(IBindContext context) - { - this.Context = context; - } - - /// - /// Called after variable resolution occurs. - /// - public virtual void AfterResolvedFields(Intermediate intermediate) - { - } - - public virtual string ResolveFile(string source, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage) - { - return null; - } - - public virtual bool? CompareFiles(string targetFile, string updatedFile) - { - return null; - } - - public virtual bool CopyFile(string source, string destination, bool overwrite) - { - return false; - } - - public virtual bool MoveFile(string source, string destination, bool overwrite) - { - return false; - } - - /// - /// Called after binding is complete before the files are moved to their final locations. - /// - public virtual void PostBind(BindResult result) - { - } - } -} diff --git a/src/WixToolset.Extensibility/IBackend.cs b/src/WixToolset.Extensibility/IBackend.cs index 9b950364..385fd086 100644 --- a/src/WixToolset.Extensibility/IBackend.cs +++ b/src/WixToolset.Extensibility/IBackend.cs @@ -4,7 +4,6 @@ namespace WixToolset.Extensibility { using WixToolset.Data; using WixToolset.Data.Bind; - using WixToolset.Extensibility.Services; public interface IBackend { diff --git a/src/WixToolset.Extensibility/IBindContext.cs b/src/WixToolset.Extensibility/IBindContext.cs new file mode 100644 index 00000000..1cb1c558 --- /dev/null +++ b/src/WixToolset.Extensibility/IBindContext.cs @@ -0,0 +1,52 @@ +// 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.Extensibility +{ + using System; + using System.Collections.Generic; + using WixToolset.Data; + using WixToolset.Extensibility.Services; + + public interface IBindContext + { + IServiceProvider ServiceProvider { get; } + + IMessaging Messaging { get; set; } + + int CabbingThreadCount { get; set; } + + string CabCachePath { get; set; } + + int Codepage { get; set; } + + CompressionLevel DefaultCompressionLevel { get; set; } + + IEnumerable DelayedFields { get; set; } + + IEnumerable ExpectedEmbeddedFiles { get; set; } + + IEnumerable FileSystemExtensions { get; set; } + + IEnumerable Ices { get; set; } + + string IntermediateFolder { get; set; } + + Intermediate IntermediateRepresentation { get; set; } + + string OutputPath { get; set; } + + string OutputPdbPath { get; set; } + + IEnumerable SuppressIces { get; set; } + + bool SuppressValidation { get; set; } + + string ContentsFile { get; set; } + + string OutputsFile { get; set; } + + string BuiltOutputsFile { get; set; } + + string WixprojectFile { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/IBindVariableResolver.cs b/src/WixToolset.Extensibility/IBindVariableResolver.cs deleted file mode 100644 index f584f327..00000000 --- a/src/WixToolset.Extensibility/IBindVariableResolver.cs +++ /dev/null @@ -1,26 +0,0 @@ -// 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.Extensibility -{ - using WixToolset.Data; - using WixToolset.Data.Tuples; - - public interface IBindVariableResolver - { - int VariableCount { get; } - - void AddVariable(string name, string value); - - void AddVariable(WixVariableTuple wixVariableRow); - - string ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly); - - string ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly, bool errorOnUnknown, out bool isDefault, out bool delayedResolve); - - string ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly, out bool isDefault); - - string ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly, out bool isDefault, out bool delayedResolve); - - bool TryGetLocalizedControl(string dialog, string control, out LocalizedControl localizedControl); - } -} diff --git a/src/WixToolset.Extensibility/IBinderExtension.cs b/src/WixToolset.Extensibility/IBinderExtension.cs deleted file mode 100644 index 0e9df10b..00000000 --- a/src/WixToolset.Extensibility/IBinderExtension.cs +++ /dev/null @@ -1,37 +0,0 @@ -// 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.Extensibility -{ - using WixToolset.Data; - using WixToolset.Data.Bind; - using WixToolset.Extensibility.Services; - - /// - /// Interface all binder extensions implement. - /// - public interface IBinderExtension - { - /// - /// Called before binding occurs. - /// - void PreBind(IBindContext context); - - /// - /// Called after variable resolution occurs. - /// - void AfterResolvedFields(Intermediate intermediate); - - string ResolveFile(string source, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage); - - bool? CompareFiles(string targetFile, string updatedFile); - - bool CopyFile(string source, string destination, bool overwrite); - - bool MoveFile(string source, string destination, bool overwrite); - - /// - /// Called after all output changes occur and right before the output is bound into its final format. - /// - void PostBind(BindResult result); - } -} diff --git a/src/WixToolset.Extensibility/IBinderFileManagerCore.cs b/src/WixToolset.Extensibility/IBinderFileManagerCore.cs deleted file mode 100644 index 27644413..00000000 --- a/src/WixToolset.Extensibility/IBinderFileManagerCore.cs +++ /dev/null @@ -1,55 +0,0 @@ -// 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.Extensibility -{ - using System.Collections.Generic; - using WixToolset.Data; - using WixToolset.Data.Bind; - - public interface IBinderFileManagerCore - { - /// - /// Gets or sets the path to cabinet cache. - /// - /// The path to cabinet cache. - string CabCachePath { get; } - - /// - /// Gets or sets the active subStorage used for binding. - /// - /// The subStorage object. - //SubStorage ActiveSubStorage { get; } - - /// - /// Gets or sets the output object used for binding. - /// - /// The output object. - Intermediate Intermediate { get; } - - /// - /// Gets or sets the path to the temp files location. - /// - /// The path to the temp files location. - string TempFilesLocation { get; } - - /// - /// Gets the property if re-basing target is true or false - /// - /// It returns true if target bind path is to be replaced, otherwise false. - bool RebaseTarget { get; } - - /// - /// Gets the property if re-basing updated build is true or false - /// - /// It returns true if updated bind path is to be replaced, otherwise false. - bool RebaseUpdated { get; } - - /// - /// Gets the collection of paths to locate files during ResolveFile for the provided BindStage and name. - /// - /// Optional stage to get bind paths for. Default is normal. - /// Optional name of the bind paths to get. Default is the unnamed paths. - /// The bind paths to locate files. - IEnumerable GetBindPaths(BindStage stage = BindStage.Normal, string name = null); - } -} diff --git a/src/WixToolset.Extensibility/IFileSystemContext.cs b/src/WixToolset.Extensibility/IFileSystemContext.cs new file mode 100644 index 00000000..32783957 --- /dev/null +++ b/src/WixToolset.Extensibility/IFileSystemContext.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.Extensibility +{ + using System; + using WixToolset.Data; + using WixToolset.Extensibility.Services; + + public interface IFileSystemContext + { + IServiceProvider ServiceProvider { get; } + + IMessaging Messaging { get; set; } + + string CabCachePath { get; set; } + + string IntermediateFolder { get; set; } + + Intermediate IntermediateRepresentation { get; set; } + + string OutputPath { get; set; } + + string OutputPdbPath { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/IFileSystemExtension.cs b/src/WixToolset.Extensibility/IFileSystemExtension.cs new file mode 100644 index 00000000..37b8e24a --- /dev/null +++ b/src/WixToolset.Extensibility/IFileSystemExtension.cs @@ -0,0 +1,18 @@ +// 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.Extensibility +{ + /// + /// Interface all file system extensions implement. + /// + public interface IFileSystemExtension + { + void Initialize(IFileSystemContext context); + + bool? CompareFiles(string targetFile, string updatedFile); + + bool CopyFile(string source, string destination, bool overwrite); + + bool MoveFile(string source, string destination, bool overwrite); + } +} diff --git a/src/WixToolset.Extensibility/ILayoutContext.cs b/src/WixToolset.Extensibility/ILayoutContext.cs new file mode 100644 index 00000000..5b4f014d --- /dev/null +++ b/src/WixToolset.Extensibility/ILayoutContext.cs @@ -0,0 +1,34 @@ +// 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.Extensibility +{ + using System; + using System.Collections.Generic; + using WixToolset.Data.Bind; + using WixToolset.Extensibility.Services; + + public interface ILayoutContext + { + IServiceProvider ServiceProvider { get; } + + IMessaging Messaging { get; set; } + + IEnumerable Extensions { get; set; } + + IEnumerable FileSystemExtensions { get; set; } + + IEnumerable ContentFilePaths { get; set; } + + IEnumerable FileTransfers { get; set; } + + string OutputPdbPath { get; set; } + + string ContentsFile { get; set; } + + string OutputsFile { get; set; } + + string BuiltOutputsFile { get; set; } + + bool SuppressAclReset { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/ILayoutExtension.cs b/src/WixToolset.Extensibility/ILayoutExtension.cs new file mode 100644 index 00000000..b1de5bd2 --- /dev/null +++ b/src/WixToolset.Extensibility/ILayoutExtension.cs @@ -0,0 +1,20 @@ +// 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.Extensibility +{ + /// + /// Interface all resolver extensions implement. + /// + public interface ILayoutExtension + { + /// + /// Called before resolving occurs. + /// + void PreLayout(ILayoutContext context); + + /// + /// Called after all resolving occurs. + /// + void PostLayout(); + } +} diff --git a/src/WixToolset.Extensibility/ILibrarianExtension.cs b/src/WixToolset.Extensibility/ILibrarianExtension.cs index ae4529d8..381abf01 100644 --- a/src/WixToolset.Extensibility/ILibrarianExtension.cs +++ b/src/WixToolset.Extensibility/ILibrarianExtension.cs @@ -8,7 +8,7 @@ namespace WixToolset.Extensibility { void PreCombine(ILibraryContext context); - string Resolve(SourceLineNumber sourceLineNumber, string table, string path); + string Resolve(SourceLineNumber sourceLineNumber, IntermediateTupleDefinition tupleDefinition, string path); void PostCombine(Intermediate library); } diff --git a/src/WixToolset.Extensibility/ILibraryContext.cs b/src/WixToolset.Extensibility/ILibraryContext.cs index e715080f..0c29a3dd 100644 --- a/src/WixToolset.Extensibility/ILibraryContext.cs +++ b/src/WixToolset.Extensibility/ILibraryContext.cs @@ -24,7 +24,5 @@ namespace WixToolset.Extensibility IEnumerable Localizations { get; set; } IEnumerable Intermediates { get; set; } - - IBindVariableResolver WixVariableResolver { get; set; } } } diff --git a/src/WixToolset.Extensibility/ILinkContext.cs b/src/WixToolset.Extensibility/ILinkContext.cs new file mode 100644 index 00000000..65eeb6f1 --- /dev/null +++ b/src/WixToolset.Extensibility/ILinkContext.cs @@ -0,0 +1,26 @@ +// 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.Extensibility +{ + using System; + using System.Collections.Generic; + using WixToolset.Data; + using WixToolset.Extensibility.Services; + + public interface ILinkContext + { + IServiceProvider ServiceProvider { get; } + + IMessaging Messaging { get; set; } + + IEnumerable Extensions { get; set; } + + IEnumerable ExtensionData { get; set; } + + OutputType ExpectedOutputType { get; set; } + + IEnumerable Intermediates { get; set; } + + ITupleDefinitionCreator TupleDefinitionCreator { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/IResolveContext.cs b/src/WixToolset.Extensibility/IResolveContext.cs new file mode 100644 index 00000000..026e5a35 --- /dev/null +++ b/src/WixToolset.Extensibility/IResolveContext.cs @@ -0,0 +1,26 @@ +// 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.Extensibility +{ + using System; + using System.Collections.Generic; + using WixToolset.Data; + using WixToolset.Extensibility.Services; + + public interface IResolveContext + { + IServiceProvider ServiceProvider { get; } + + IMessaging Messaging { get; set; } + + IEnumerable BindPaths { get; set; } + + IEnumerable Extensions { get; set; } + + string IntermediateFolder { get; set; } + + Intermediate IntermediateRepresentation { get; set; } + + IBindVariableResolver WixVariableResolver { get; set; } + } +} diff --git a/src/WixToolset.Extensibility/IResolverExtension.cs b/src/WixToolset.Extensibility/IResolverExtension.cs new file mode 100644 index 00000000..b0478ff0 --- /dev/null +++ b/src/WixToolset.Extensibility/IResolverExtension.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.Extensibility +{ + using WixToolset.Data; + using WixToolset.Data.Bind; + + /// + /// Interface all resolver extensions implement. + /// + public interface IResolverExtension + { + /// + /// Called before resolving occurs. + /// + void PreResolve(IResolveContext context); + + string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage); + + /// + /// Called after all resolving occurs. + /// + void PostResolve(ResolveResult result); + } +} diff --git a/src/WixToolset.Extensibility/ResolveResult.cs b/src/WixToolset.Extensibility/ResolveResult.cs new file mode 100644 index 00000000..14073ab0 --- /dev/null +++ b/src/WixToolset.Extensibility/ResolveResult.cs @@ -0,0 +1,18 @@ +// 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.Extensibility +{ + using System.Collections.Generic; + using WixToolset.Data; + + public class ResolveResult + { + public int Codepage { get; set; } + + public IEnumerable ExpectedEmbeddedFiles { get; set; } + + public IEnumerable DelayedFields { get; set; } + + public Intermediate IntermediateRepresentation { get; set; } + } +} \ No newline at end of file diff --git a/src/WixToolset.Extensibility/Services/BindVariableResolution.cs b/src/WixToolset.Extensibility/Services/BindVariableResolution.cs new file mode 100644 index 00000000..cdd1fa19 --- /dev/null +++ b/src/WixToolset.Extensibility/Services/BindVariableResolution.cs @@ -0,0 +1,27 @@ +// 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.Extensibility.Services +{ + public class BindVariableResolution + { + /// + /// Indicates whether the variable should be delay resolved. + /// + public bool DelayedResolve { get; set; } + + /// + /// Indicates whether the value is the default value of the variable. + /// + public bool IsDefault { get; set; } + + /// + /// Indicates whether the value changed. + /// + public bool UpdatedValue { get; set; } + + /// + /// Resolved value. + /// + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/src/WixToolset.Extensibility/Services/IBindContext.cs b/src/WixToolset.Extensibility/Services/IBindContext.cs deleted file mode 100644 index ad1aa818..00000000 --- a/src/WixToolset.Extensibility/Services/IBindContext.cs +++ /dev/null @@ -1,59 +0,0 @@ -// 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.Extensibility.Services -{ - using System; - using System.Collections.Generic; - using WixToolset.Data; - - public interface IBindContext - { - IServiceProvider ServiceProvider { get; } - - IMessaging Messaging { get; set; } - - IEnumerable BindPaths { get; set; } - - int CabbingThreadCount { get; set; } - - string CabCachePath { get; set; } - - int Codepage { get; set; } - - CompressionLevel DefaultCompressionLevel { get; set; } - - IEnumerable DelayedFields { get; set; } - - IEnumerable ExpectedEmbeddedFiles { get; set; } - - IExtensionManager ExtensionManager { get; set; } - - IEnumerable Extensions { get; set; } - - IEnumerable Ices { get; set; } - - string IntermediateFolder { get; set; } - - Intermediate IntermediateRepresentation { get; set; } - - string OutputPath { get; set; } - - string OutputPdbPath { get; set; } - - bool SuppressAclReset { get; set; } - - IEnumerable SuppressIces { get; set; } - - bool SuppressValidation { get; set; } - - IBindVariableResolver WixVariableResolver { get; set; } - - string ContentsFile { get; set; } - - string OutputsFile { get; set; } - - string BuiltOutputsFile { get; set; } - - string WixprojectFile { get; set; } - } -} diff --git a/src/WixToolset.Extensibility/Services/IBindVariableResolver.cs b/src/WixToolset.Extensibility/Services/IBindVariableResolver.cs new file mode 100644 index 00000000..50071658 --- /dev/null +++ b/src/WixToolset.Extensibility/Services/IBindVariableResolver.cs @@ -0,0 +1,17 @@ +// 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.Extensibility.Services +{ + using WixToolset.Data; + + public interface IBindVariableResolver + { + int VariableCount { get; } + + void AddVariable(string name, string value, bool overridable); + + BindVariableResolution ResolveVariables(SourceLineNumber sourceLineNumbers, string value, bool localizationOnly); + + bool TryGetLocalizedControl(string dialog, string control, out LocalizedControl localizedControl); + } +} diff --git a/src/WixToolset.Extensibility/Services/ILinkContext.cs b/src/WixToolset.Extensibility/Services/ILinkContext.cs deleted file mode 100644 index e098a900..00000000 --- a/src/WixToolset.Extensibility/Services/ILinkContext.cs +++ /dev/null @@ -1,25 +0,0 @@ -// 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.Extensibility.Services -{ - using System; - using System.Collections.Generic; - using WixToolset.Data; - - public interface ILinkContext - { - IServiceProvider ServiceProvider { get; } - - IMessaging Messaging { get; set; } - - IEnumerable Extensions { get; set; } - - IEnumerable ExtensionData { get; set; } - - OutputType ExpectedOutputType { get; set; } - - IEnumerable Intermediates { get; set; } - - ITupleDefinitionCreator TupleDefinitionCreator { get; set; } - } -} -- cgit v1.2.3-55-g6feb