From c08fd0aefeea1628fe93c818ca4dde63fd6ac2e1 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Tue, 17 Oct 2017 02:47:44 -0700 Subject: Introduce WixToolsetServiceProvider Using a service provider allows all of WixToolset.Core's internal functionality to be abstracted behind interfaces in WixToolset.Extensibility. The service provide can also control what interfaces are singletons. --- .../Bind/BindDatabaseCommand.cs | 1 + src/WixToolset.Core.WindowsInstaller/MsiBackend.cs | 1 + src/WixToolset.Core.WindowsInstaller/MsmBackend.cs | 1 + src/WixToolset.Core.WindowsInstaller/MspBackend.cs | 1 + src/WixToolset.Core.WindowsInstaller/MstBackend.cs | 1 + src/WixToolset.Core.WindowsInstaller/StandardBackend.cs | 12 ++++++++++++ src/WixToolset.Core.WindowsInstaller/Validator.cs | 1 + .../WindowsInstallerBackendFactory.cs | 1 + 8 files changed, 19 insertions(+) create mode 100644 src/WixToolset.Core.WindowsInstaller/StandardBackend.cs (limited to 'src/WixToolset.Core.WindowsInstaller') diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 2e2c5417..21fbb022 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs @@ -16,6 +16,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind using WixToolset.Data.Bind; using WixToolset.Data.Rows; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; using WixToolset.Msi; /// diff --git a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs index 716ea000..bf7b4579 100644 --- a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs +++ b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs @@ -8,6 +8,7 @@ namespace WixToolset.Core.WindowsInstaller using WixToolset.Data; using WixToolset.Data.Bind; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; internal class MsiBackend : IBackend { diff --git a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs index 268213d7..69d7ada0 100644 --- a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs +++ b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs @@ -7,6 +7,7 @@ namespace WixToolset.Core.WindowsInstaller using WixToolset.Data; using WixToolset.Data.Bind; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; internal class MsmBackend : IBackend { diff --git a/src/WixToolset.Core.WindowsInstaller/MspBackend.cs b/src/WixToolset.Core.WindowsInstaller/MspBackend.cs index 4b13258b..ea16a570 100644 --- a/src/WixToolset.Core.WindowsInstaller/MspBackend.cs +++ b/src/WixToolset.Core.WindowsInstaller/MspBackend.cs @@ -10,6 +10,7 @@ namespace WixToolset.Core.WindowsInstaller using WixToolset.Data; using WixToolset.Data.Bind; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; using WixToolset.Msi; using WixToolset.Ole32; diff --git a/src/WixToolset.Core.WindowsInstaller/MstBackend.cs b/src/WixToolset.Core.WindowsInstaller/MstBackend.cs index 2cb7da89..66bc57ae 100644 --- a/src/WixToolset.Core.WindowsInstaller/MstBackend.cs +++ b/src/WixToolset.Core.WindowsInstaller/MstBackend.cs @@ -8,6 +8,7 @@ namespace WixToolset.Core.WindowsInstaller using WixToolset.Data; using WixToolset.Data.Bind; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; internal class MstBackend : IBackend { diff --git a/src/WixToolset.Core.WindowsInstaller/StandardBackend.cs b/src/WixToolset.Core.WindowsInstaller/StandardBackend.cs new file mode 100644 index 00000000..f1ae2017 --- /dev/null +++ b/src/WixToolset.Core.WindowsInstaller/StandardBackend.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixToolset.Core.WindowsInstaller +{ + /// + /// Denotes this assembly contains a backend that is considered + /// a standard part of the WiX Toolset. + /// + public static class StandardBackend + { + } +} diff --git a/src/WixToolset.Core.WindowsInstaller/Validator.cs b/src/WixToolset.Core.WindowsInstaller/Validator.cs index db66f600..652a8a07 100644 --- a/src/WixToolset.Core.WindowsInstaller/Validator.cs +++ b/src/WixToolset.Core.WindowsInstaller/Validator.cs @@ -16,6 +16,7 @@ namespace WixToolset.Core.WindowsInstaller using WixToolset.Msi; using System.Linq; using System.Reflection; + using WixToolset.Extensibility.Services; /// /// Runs internal consistency evaluators (ICEs) from cub files against a database. diff --git a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerBackendFactory.cs b/src/WixToolset.Core.WindowsInstaller/WindowsInstallerBackendFactory.cs index b66a4617..a7f58ed4 100644 --- a/src/WixToolset.Core.WindowsInstaller/WindowsInstallerBackendFactory.cs +++ b/src/WixToolset.Core.WindowsInstaller/WindowsInstallerBackendFactory.cs @@ -5,6 +5,7 @@ namespace WixToolset.Core.WindowsInstaller using System; using System.IO; using WixToolset.Extensibility; + using WixToolset.Extensibility.Services; internal class WindowsInstallerBackendFactory : IBackendFactory { -- cgit v1.2.3-55-g6feb