diff options
| author | Rob Mensching <rob@firegiant.com> | 2017-11-01 10:59:45 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2017-11-01 10:59:45 -0700 |
| commit | 2bb37beda887d120a0ddabf874ad25357101faa1 (patch) | |
| tree | c35e97b03274b86cfc9ff7fd2caeee211165a140 /src/WixToolset.Core/WixToolsetServiceProvider.cs | |
| parent | df7413aeed3aea3425dff20ae0c8b1be3a3ab525 (diff) | |
| download | wix-2bb37beda887d120a0ddabf874ad25357101faa1.tar.gz wix-2bb37beda887d120a0ddabf874ad25357101faa1.tar.bz2 wix-2bb37beda887d120a0ddabf874ad25357101faa1.zip | |
Update to WiX Intermediate Representation
Diffstat (limited to 'src/WixToolset.Core/WixToolsetServiceProvider.cs')
| -rw-r--r-- | src/WixToolset.Core/WixToolsetServiceProvider.cs | 19 |
1 files changed, 18 insertions, 1 deletions
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 @@ | |||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| 5 | using System; | 5 | using System; |
| 6 | using WixToolset.Data; | ||
| 6 | using WixToolset.Extensibility; | 7 | using WixToolset.Extensibility; |
| 7 | using WixToolset.Extensibility.Services; | 8 | using WixToolset.Extensibility.Services; |
| 8 | 9 | ||
| 9 | public class WixToolsetServiceProvider : IServiceProvider | 10 | public class WixToolsetServiceProvider : IServiceProvider |
| 10 | { | 11 | { |
| 11 | private ExtensionManager extensionManager; | 12 | private ExtensionManager extensionManager; |
| 13 | private TupleDefinitionCreator tupleDefinitionCreator; | ||
| 12 | 14 | ||
| 13 | public object GetService(Type serviceType) | 15 | public object GetService(Type serviceType) |
| 14 | { | 16 | { |
| 15 | if (serviceType == null) throw new ArgumentNullException(nameof(serviceType)); | 17 | if (serviceType == null) throw new ArgumentNullException(nameof(serviceType)); |
| 16 | 18 | ||
| 17 | // Transients. | 19 | // Transients. |
| 20 | if (serviceType == typeof(ICompileContext)) | ||
| 21 | { | ||
| 22 | return new CompileContext(this); | ||
| 23 | } | ||
| 24 | |||
| 25 | if (serviceType == typeof(ILinkContext)) | ||
| 26 | { | ||
| 27 | return new LinkContext(this); | ||
| 28 | } | ||
| 29 | |||
| 18 | if (serviceType == typeof(IBindContext)) | 30 | if (serviceType == typeof(IBindContext)) |
| 19 | { | 31 | { |
| 20 | return new BindContext(this); | 32 | return new BindContext(this); |
| @@ -38,7 +50,12 @@ namespace WixToolset.Core | |||
| 38 | // Singletons. | 50 | // Singletons. |
| 39 | if (serviceType == typeof(IExtensionManager)) | 51 | if (serviceType == typeof(IExtensionManager)) |
| 40 | { | 52 | { |
| 41 | return extensionManager = extensionManager ?? new ExtensionManager(); | 53 | return this.extensionManager = this.extensionManager ?? new ExtensionManager(); |
| 54 | } | ||
| 55 | |||
| 56 | if (serviceType == typeof(ITupleDefinitionCreator)) | ||
| 57 | { | ||
| 58 | return this.tupleDefinitionCreator = this.tupleDefinitionCreator ?? new TupleDefinitionCreator(this); | ||
| 42 | } | 59 | } |
| 43 | 60 | ||
| 44 | throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); | 61 | throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); |
