From c8edfc4d712c2f0abf3ba2d6b3fb2a8f0ad94261 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 23 Jan 2020 12:43:48 -0800 Subject: Expose table definitions from IWindowsInstallerBackendBinderExtension --- .../BaseWindowsInstallerBackendBinderExtension.cs | 19 +++++++------------ .../IWindowsInstallerBackendBinderExtension.cs | 2 ++ .../Services/IWindowsInstallerBackendHelper.cs | 5 +++-- 3 files changed, 12 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs index 0eed98af..6e13b625 100644 --- a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs +++ b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs @@ -3,6 +3,7 @@ namespace WixToolset.Extensibility { using System.Collections.Generic; + using System.Linq; using WixToolset.Data; using WixToolset.Data.Tuples; using WixToolset.Data.WindowsInstaller; @@ -30,9 +31,9 @@ namespace WixToolset.Extensibility protected IWindowsInstallerBackendHelper BackendHelper { get; private set; } /// - /// Optional table definitions to automatically map to tuples. + /// Optional table definitions. /// - protected virtual TableDefinition[] TableDefinitionsForTuples { get; } + public virtual IEnumerable TableDefinitions => Enumerable.Empty(); /// /// Creates a resolved cabinet result. @@ -48,21 +49,15 @@ namespace WixToolset.Extensibility this.BackendHelper = context.ServiceProvider.GetService(); } - public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) - { - return null; - } + public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) => null; - public virtual string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory) - { - return null; - } + public virtual string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null; public virtual bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output) { - if (this.TableDefinitionsForTuples != null) + if (this.TableDefinitions.Any()) { - return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitionsForTuples); + return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitions); } return false; diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs index 22939103..167e1083 100644 --- a/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs +++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs @@ -13,6 +13,8 @@ namespace WixToolset.Extensibility /// public interface IWindowsInstallerBackendBinderExtension { + IEnumerable TableDefinitions { get; } + /// /// Called before binding occurs. /// diff --git a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs index 573620df..4552c7cb 100644 --- a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs +++ b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs @@ -2,6 +2,7 @@ namespace WixToolset.Extensibility.Services { + using System.Collections.Generic; using WixToolset.Data; using WixToolset.Data.WindowsInstaller; @@ -10,8 +11,8 @@ namespace WixToolset.Extensibility.Services /// public interface IWindowsInstallerBackendHelper { - bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions); + bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable tableDefinitions); - bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions, bool columnZeroIsId); + bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable tableDefinitions, bool columnZeroIsId); } } -- cgit v1.2.3-55-g6feb