aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-01-23 12:43:48 -0800
committerRob Mensching <rob@firegiant.com>2020-01-23 12:44:58 -0800
commitc8edfc4d712c2f0abf3ba2d6b3fb2a8f0ad94261 (patch)
treed4fd108cb427029553cf4f5470cca6c7d494bf72
parentfdb5b2a2cf0690cebbb449ba47370bdc55928539 (diff)
downloadwix-c8edfc4d712c2f0abf3ba2d6b3fb2a8f0ad94261.tar.gz
wix-c8edfc4d712c2f0abf3ba2d6b3fb2a8f0ad94261.tar.bz2
wix-c8edfc4d712c2f0abf3ba2d6b3fb2a8f0ad94261.zip
Expose table definitions from IWindowsInstallerBackendBinderExtension
-rw-r--r--src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs19
-rw-r--r--src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs5
3 files changed, 12 insertions, 14 deletions
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 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using System.Linq;
6 using WixToolset.Data; 7 using WixToolset.Data;
7 using WixToolset.Data.Tuples; 8 using WixToolset.Data.Tuples;
8 using WixToolset.Data.WindowsInstaller; 9 using WixToolset.Data.WindowsInstaller;
@@ -30,9 +31,9 @@ namespace WixToolset.Extensibility
30 protected IWindowsInstallerBackendHelper BackendHelper { get; private set; } 31 protected IWindowsInstallerBackendHelper BackendHelper { get; private set; }
31 32
32 /// <summary> 33 /// <summary>
33 /// Optional table definitions to automatically map to tuples. 34 /// Optional table definitions.
34 /// </summary> 35 /// </summary>
35 protected virtual TableDefinition[] TableDefinitionsForTuples { get; } 36 public virtual IEnumerable<TableDefinition> TableDefinitions => Enumerable.Empty<TableDefinition>();
36 37
37 /// <summary> 38 /// <summary>
38 /// Creates a resolved cabinet result. 39 /// Creates a resolved cabinet result.
@@ -48,21 +49,15 @@ namespace WixToolset.Extensibility
48 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>(); 49 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>();
49 } 50 }
50 51
51 public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) 52 public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null;
52 {
53 return null;
54 }
55 53
56 public virtual string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory) 54 public virtual string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null;
57 {
58 return null;
59 }
60 55
61 public virtual bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output) 56 public virtual bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output)
62 { 57 {
63 if (this.TableDefinitionsForTuples != null) 58 if (this.TableDefinitions.Any())
64 { 59 {
65 return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitionsForTuples); 60 return this.BackendHelper.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, this.TableDefinitions);
66 } 61 }
67 62
68 return false; 63 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
13 /// </summary> 13 /// </summary>
14 public interface IWindowsInstallerBackendBinderExtension 14 public interface IWindowsInstallerBackendBinderExtension
15 { 15 {
16 IEnumerable<TableDefinition> TableDefinitions { get; }
17
16 /// <summary> 18 /// <summary>
17 /// Called before binding occurs. 19 /// Called before binding occurs.
18 /// </summary> 20 /// </summary>
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 @@
2 2
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using System.Collections.Generic;
5 using WixToolset.Data; 6 using WixToolset.Data;
6 using WixToolset.Data.WindowsInstaller; 7 using WixToolset.Data.WindowsInstaller;
7 8
@@ -10,8 +11,8 @@ namespace WixToolset.Extensibility.Services
10 /// </summary> 11 /// </summary>
11 public interface IWindowsInstallerBackendHelper 12 public interface IWindowsInstallerBackendHelper
12 { 13 {
13 bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions); 14 bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable<TableDefinition> tableDefinitions);
14 15
15 bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions, bool columnZeroIsId); 16 bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, IEnumerable<TableDefinition> tableDefinitions, bool columnZeroIsId);
16 } 17 }
17} 18}