diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-02 21:00:43 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-02 21:34:24 +1000 |
| commit | 7027e259b8987e425362ee8248e5d0efe8003d51 (patch) | |
| tree | 7745b9055aecb9817bfa51576c81dd7efc38c019 /src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs | |
| parent | 177784c9a6d93eeb3c195e6d62b97eb4c1dde32b (diff) | |
| download | wix-7027e259b8987e425362ee8248e5d0efe8003d51.tar.gz wix-7027e259b8987e425362ee8248e5d0efe8003d51.tar.bz2 wix-7027e259b8987e425362ee8248e5d0efe8003d51.zip | |
Hide the concrete implementation of the service provider interfaces
by adding WixToolsetServiceProviderFactory.
This forces consumers to code to the interfaces.
Diffstat (limited to 'src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs')
| -rw-r--r-- | src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs b/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs index d80f25a2..97216479 100644 --- a/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs | |||
| @@ -16,12 +16,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 16 | private List<IExtensionFactory> extensionFactories = new List<IExtensionFactory>(); | 16 | private List<IExtensionFactory> extensionFactories = new List<IExtensionFactory>(); |
| 17 | private Dictionary<Type, List<object>> loadedExtensionsByType = new Dictionary<Type, List<object>>(); | 17 | private Dictionary<Type, List<object>> loadedExtensionsByType = new Dictionary<Type, List<object>>(); |
| 18 | 18 | ||
| 19 | public ExtensionManager(IServiceProvider serviceProvider) | 19 | public ExtensionManager(IWixToolsetCoreServiceProvider serviceProvider) |
| 20 | { | 20 | { |
| 21 | this.ServiceProvider = serviceProvider; | 21 | this.ServiceProvider = serviceProvider; |
| 22 | } | 22 | } |
| 23 | 23 | ||
| 24 | private IServiceProvider ServiceProvider { get; } | 24 | private IWixToolsetCoreServiceProvider ServiceProvider { get; } |
| 25 | 25 | ||
| 26 | public void Add(Assembly extensionAssembly) | 26 | public void Add(Assembly extensionAssembly) |
| 27 | { | 27 | { |
| @@ -33,7 +33,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 33 | 33 | ||
| 34 | private IExtensionFactory CreateExtensionFactory(Type type) | 34 | private IExtensionFactory CreateExtensionFactory(Type type) |
| 35 | { | 35 | { |
| 36 | var constructor = type.GetConstructor(new[] { typeof(IServiceProvider) }); | 36 | var constructor = type.GetConstructor(new[] { typeof(IWixToolsetCoreServiceProvider) }); |
| 37 | if (constructor != null) | 37 | if (constructor != null) |
| 38 | { | 38 | { |
| 39 | return (IExtensionFactory)constructor.Invoke(new[] { this.ServiceProvider }); | 39 | return (IExtensionFactory)constructor.Invoke(new[] { this.ServiceProvider }); |
