aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-01-24 15:27:20 -0800
committerRob Mensching <rob@firegiant.com>2020-02-05 16:15:47 -0800
commit6ff680e386b1543ad1a58d1b1d465ce8aa20bc7d (patch)
treec717333cd10d5592e59dfb898b391275bba1f389 /src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
parent6e2e67ab55c75f4655397588c0dcc64f50d22f92 (diff)
downloadwix-6ff680e386b1543ad1a58d1b1d465ce8aa20bc7d.tar.gz
wix-6ff680e386b1543ad1a58d1b1d465ce8aa20bc7d.tar.bz2
wix-6ff680e386b1543ad1a58d1b1d465ce8aa20bc7d.zip
Start on new patch infrastructure
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
index 92ddad6f..1aa4065e 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
@@ -9,15 +9,22 @@ namespace WixToolset.Core.WindowsInstaller.Bind
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Data.Tuples; 10 using WixToolset.Data.Tuples;
11 using WixToolset.Data.WindowsInstaller; 11 using WixToolset.Data.WindowsInstaller;
12 using WixToolset.Extensibility;
12 13
13 internal class LoadTableDefinitionsCommand 14 internal class LoadTableDefinitionsCommand
14 { 15 {
15 public LoadTableDefinitionsCommand(IntermediateSection section) => this.Section = section; 16 public LoadTableDefinitionsCommand(IntermediateSection section, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions)
16 17 {
17 public TableDefinitionCollection TableDefinitions { get; private set; } 18 this.Section = section;
19 this.BackendExtensions = backendExtensions;
20 }
18 21
19 private IntermediateSection Section { get; } 22 private IntermediateSection Section { get; }
20 23
24 private IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { get; }
25
26 public TableDefinitionCollection TableDefinitions { get; private set; }
27
21 public TableDefinitionCollection Execute() 28 public TableDefinitionCollection Execute()
22 { 29 {
23 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions()); 30 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions());
@@ -28,6 +35,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
28 tableDefinitions.Add(customTableDefinition); 35 tableDefinitions.Add(customTableDefinition);
29 } 36 }
30 37
38 foreach (var backendExtension in this.BackendExtensions)
39 {
40 foreach (var tableDefinition in backendExtension.TableDefinitions)
41 {
42 tableDefinitions.Add(tableDefinition);
43 }
44 }
45
31 this.TableDefinitions = tableDefinitions; 46 this.TableDefinitions = tableDefinitions;
32 return this.TableDefinitions; 47 return this.TableDefinitions;
33 } 48 }