aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-06-19 13:28:50 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-06-19 13:34:17 +1000
commite22fd864bcb83d982441759719ba57fbc4391c95 (patch)
tree1dbf0e83f1a6c0ac959d8c1c0e1b21a0408d25c5 /src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs
parenta65c055184941ea6f03fe6b6cfdebf870a085dfb (diff)
downloadwix-e22fd864bcb83d982441759719ba57fbc4391c95.tar.gz
wix-e22fd864bcb83d982441759719ba57fbc4391c95.tar.bz2
wix-e22fd864bcb83d982441759719ba57fbc4391c95.zip
Implement IBurnBackendHelper and TryAddTupleToDataManifest.
Add GenerateManifestDataFromIRCommand, which allows the Burn backend to warn on unknown tuples.
Diffstat (limited to 'src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs')
-rw-r--r--src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs b/src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs
index 5c3fd449..04fa4daf 100644
--- a/src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs
+++ b/src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs
@@ -2,16 +2,34 @@
2 2
3namespace WixToolset.Core.Burn 3namespace WixToolset.Core.Burn
4{ 4{
5 using System;
6 using System.Collections.Generic;
7 using WixToolset.Core.Burn.ExtensibilityServices;
5 using WixToolset.Extensibility.Services; 8 using WixToolset.Extensibility.Services;
6 9
7 public static class WixToolsetCoreServiceProviderExtensions 10 public static class WixToolsetCoreServiceProviderExtensions
8 { 11 {
9 public static IWixToolsetCoreServiceProvider AddBundleBackend(this IWixToolsetCoreServiceProvider coreProvider) 12 public static IWixToolsetCoreServiceProvider AddBundleBackend(this IWixToolsetCoreServiceProvider coreProvider)
10 { 13 {
14 AddServices(coreProvider);
15
11 var extensionManager = coreProvider.GetService<IExtensionManager>(); 16 var extensionManager = coreProvider.GetService<IExtensionManager>();
12 extensionManager.Add(typeof(BurnExtensionFactory).Assembly); 17 extensionManager.Add(typeof(BurnExtensionFactory).Assembly);
13 18
14 return coreProvider; 19 return coreProvider;
15 } 20 }
21
22 private static void AddServices(IWixToolsetCoreServiceProvider coreProvider)
23 {
24 // Singletons.
25 coreProvider.AddService((provider, singletons) => AddSingleton<IInternalBurnBackendHelper>(singletons, new BurnBackendHelper()));
26 coreProvider.AddService((provider, singletons) => AddSingleton<IBurnBackendHelper>(singletons, provider.GetService<IInternalBurnBackendHelper>()));
27 }
28
29 private static T AddSingleton<T>(Dictionary<Type, object> singletons, T service) where T : class
30 {
31 singletons.Add(typeof(T), service);
32 return service;
33 }
16 } 34 }
17} 35}