aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-04-02 21:00:43 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-04-02 21:34:24 +1000
commit7027e259b8987e425362ee8248e5d0efe8003d51 (patch)
tree7745b9055aecb9817bfa51576c81dd7efc38c019 /src/WixToolset.Core/ExtensibilityServices/ExtensionManager.cs
parent177784c9a6d93eeb3c195e6d62b97eb4c1dde32b (diff)
downloadwix-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.cs6
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 });