From da9f4cf9627ca628f87f0938414795258190439b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 23 Feb 2021 08:17:10 -0800 Subject: Implement IBackendHelper passthru in Burn and WindowsInstaller helpers --- .../WindowsInstallerBackendHelper.cs | 27 ++++++++++++++++++++++ .../WixToolsetCoreServiceProviderExtensions.cs | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) (limited to 'src/WixToolset.Core.WindowsInstaller') diff --git a/src/WixToolset.Core.WindowsInstaller/ExtensibilityServices/WindowsInstallerBackendHelper.cs b/src/WixToolset.Core.WindowsInstaller/ExtensibilityServices/WindowsInstallerBackendHelper.cs index 0082bc7c..248dea9b 100644 --- a/src/WixToolset.Core.WindowsInstaller/ExtensibilityServices/WindowsInstallerBackendHelper.cs +++ b/src/WixToolset.Core.WindowsInstaller/ExtensibilityServices/WindowsInstallerBackendHelper.cs @@ -2,13 +2,38 @@ namespace WixToolset.Core.WindowsInstaller.ExtensibilityServices { + using System; using System.Linq; using WixToolset.Data; using WixToolset.Data.WindowsInstaller; + using WixToolset.Extensibility.Data; using WixToolset.Extensibility.Services; internal class WindowsInstallerBackendHelper : IWindowsInstallerBackendHelper { + private readonly IBackendHelper backendHelper; + + public WindowsInstallerBackendHelper(IWixToolsetServiceProvider serviceProvider) + { + this.backendHelper = serviceProvider.GetService(); + } + + #region IBackendHelper interfaces + + public IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null) => this.backendHelper.CreateFileTransfer(source, destination, move, sourceLineNumbers); + + public string CreateGuid(Guid namespaceGuid, string value) => this.backendHelper.CreateGuid(namespaceGuid, value); + + public IResolvedDirectory CreateResolvedDirectory(string directoryParent, string name) => this.backendHelper.CreateResolvedDirectory(directoryParent, name); + + public string GetCanonicalRelativePath(SourceLineNumber sourceLineNumbers, string elementName, string attributeName, string relativePath) => this.backendHelper.GetCanonicalRelativePath(sourceLineNumbers, elementName, attributeName, relativePath); + + public ITrackedFile TrackFile(string path, TrackedFileType type, SourceLineNumber sourceLineNumbers = null) => this.backendHelper.TrackFile(path, type, sourceLineNumbers); + + #endregion + + #region IWindowsInstallerBackendHelper interfaces + public Row CreateRow(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinition tableDefinition) { var table = output.EnsureTable(tableDefinition); @@ -57,5 +82,7 @@ namespace WixToolset.Core.WindowsInstaller.ExtensibilityServices return true; } + + #endregion } } diff --git a/src/WixToolset.Core.WindowsInstaller/WixToolsetCoreServiceProviderExtensions.cs b/src/WixToolset.Core.WindowsInstaller/WixToolsetCoreServiceProviderExtensions.cs index e013cefb..d9649dec 100644 --- a/src/WixToolset.Core.WindowsInstaller/WixToolsetCoreServiceProviderExtensions.cs +++ b/src/WixToolset.Core.WindowsInstaller/WixToolsetCoreServiceProviderExtensions.cs @@ -30,7 +30,7 @@ namespace WixToolset.Core.WindowsInstaller private static void AddServices(IWixToolsetCoreServiceProvider coreProvider) { // Singletons. - coreProvider.AddService((provider, singletons) => AddSingleton(singletons, new WindowsInstallerBackendHelper())); + coreProvider.AddService((provider, singletons) => AddSingleton(singletons, new WindowsInstallerBackendHelper(provider))); coreProvider.AddService((provider, singletons) => new Unbinder(provider)); } -- cgit v1.2.3-55-g6feb