From e22fd864bcb83d982441759719ba57fbc4391c95 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 19 Jun 2020 13:28:50 +1000 Subject: Implement IBurnBackendHelper and TryAddTupleToDataManifest. Add GenerateManifestDataFromIRCommand, which allows the Burn backend to warn on unknown tuples. --- .../WixToolsetCoreServiceProviderExtensions.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/WixToolset.Core.Burn/WixToolsetCoreServiceProviderExtensions.cs') 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 @@ namespace WixToolset.Core.Burn { + using System; + using System.Collections.Generic; + using WixToolset.Core.Burn.ExtensibilityServices; using WixToolset.Extensibility.Services; public static class WixToolsetCoreServiceProviderExtensions { public static IWixToolsetCoreServiceProvider AddBundleBackend(this IWixToolsetCoreServiceProvider coreProvider) { + AddServices(coreProvider); + var extensionManager = coreProvider.GetService(); extensionManager.Add(typeof(BurnExtensionFactory).Assembly); return coreProvider; } + + private static void AddServices(IWixToolsetCoreServiceProvider coreProvider) + { + // Singletons. + coreProvider.AddService((provider, singletons) => AddSingleton(singletons, new BurnBackendHelper())); + coreProvider.AddService((provider, singletons) => AddSingleton(singletons, provider.GetService())); + } + + private static T AddSingleton(Dictionary singletons, T service) where T : class + { + singletons.Add(typeof(T), service); + return service; + } } } -- cgit v1.2.3-55-g6feb