From 2bb37beda887d120a0ddabf874ad25357101faa1 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 1 Nov 2017 10:59:45 -0700 Subject: Update to WiX Intermediate Representation --- src/WixToolset.Core/WixToolsetServiceProvider.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/WixToolset.Core/WixToolsetServiceProvider.cs') diff --git a/src/WixToolset.Core/WixToolsetServiceProvider.cs b/src/WixToolset.Core/WixToolsetServiceProvider.cs index c073c32b..dd49e7ed 100644 --- a/src/WixToolset.Core/WixToolsetServiceProvider.cs +++ b/src/WixToolset.Core/WixToolsetServiceProvider.cs @@ -3,18 +3,30 @@ namespace WixToolset.Core { using System; + using WixToolset.Data; using WixToolset.Extensibility; using WixToolset.Extensibility.Services; public class WixToolsetServiceProvider : IServiceProvider { private ExtensionManager extensionManager; + private TupleDefinitionCreator tupleDefinitionCreator; public object GetService(Type serviceType) { if (serviceType == null) throw new ArgumentNullException(nameof(serviceType)); // Transients. + if (serviceType == typeof(ICompileContext)) + { + return new CompileContext(this); + } + + if (serviceType == typeof(ILinkContext)) + { + return new LinkContext(this); + } + if (serviceType == typeof(IBindContext)) { return new BindContext(this); @@ -38,7 +50,12 @@ namespace WixToolset.Core // Singletons. if (serviceType == typeof(IExtensionManager)) { - return extensionManager = extensionManager ?? new ExtensionManager(); + return this.extensionManager = this.extensionManager ?? new ExtensionManager(); + } + + if (serviceType == typeof(ITupleDefinitionCreator)) + { + return this.tupleDefinitionCreator = this.tupleDefinitionCreator ?? new TupleDefinitionCreator(this); } throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); -- cgit v1.2.3-55-g6feb