diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-02 20:45:40 +1000 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-02 21:34:24 +1000 |
| commit | 177784c9a6d93eeb3c195e6d62b97eb4c1dde32b (patch) | |
| tree | 1ad322fa26816a32279f5433ec500cbdf5934f86 /src | |
| parent | 302b501f9ed2ae840ce598b30792d0fc1b538572 (diff) | |
| download | wix-177784c9a6d93eeb3c195e6d62b97eb4c1dde32b.tar.gz wix-177784c9a6d93eeb3c195e6d62b97eb4c1dde32b.tar.bz2 wix-177784c9a6d93eeb3c195e6d62b97eb4c1dde32b.zip | |
Use IWixToolsetServiceProvider and IWixToolsetCoreServiceProvider to expose the more convenient methods from WixToolsetServiceProvider without requiring casting or extension methods.
Diffstat (limited to 'src')
40 files changed, 119 insertions, 91 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs index 2cb5ed64..c9917073 100644 --- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | |||
| @@ -44,7 +44,7 @@ namespace WixToolset.Core.Burn | |||
| 44 | this.BackendExtensions = backedExtensions; | 44 | this.BackendExtensions = backedExtensions; |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | private IServiceProvider ServiceProvider { get; } | 47 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 48 | 48 | ||
| 49 | private IMessaging Messaging { get; } | 49 | private IMessaging Messaging { get; } |
| 50 | 50 | ||
diff --git a/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs b/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs index 7e65a9cf..d800a19a 100644 --- a/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/ProcessMsiPackageCommand.cs | |||
| @@ -23,7 +23,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
| 23 | { | 23 | { |
| 24 | private const string PropertySqlFormat = "SELECT `Value` FROM `Property` WHERE `Property` = '{0}'"; | 24 | private const string PropertySqlFormat = "SELECT `Value` FROM `Property` WHERE `Property` = '{0}'"; |
| 25 | 25 | ||
| 26 | public ProcessMsiPackageCommand(IServiceProvider serviceProvider, IEnumerable<IBurnBackendExtension> backendExtensions, IntermediateSection section, PackageFacade facade, Dictionary<string, WixBundlePayloadTuple> payloadTuples) | 26 | public ProcessMsiPackageCommand(IWixToolsetServiceProvider serviceProvider, IEnumerable<IBurnBackendExtension> backendExtensions, IntermediateSection section, PackageFacade facade, Dictionary<string, WixBundlePayloadTuple> payloadTuples) |
| 27 | { | 27 | { |
| 28 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 28 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 29 | this.BackendHelper = serviceProvider.GetService<IBackendHelper>(); | 29 | this.BackendHelper = serviceProvider.GetService<IBackendHelper>(); |
diff --git a/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs b/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs index 17251143..99e361aa 100644 --- a/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs +++ b/src/WixToolset.Core.Burn/Bundles/ProcessPayloadsCommand.cs | |||
| @@ -19,7 +19,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
| 19 | { | 19 | { |
| 20 | private static readonly Version EmptyVersion = new Version(0, 0, 0, 0); | 20 | private static readonly Version EmptyVersion = new Version(0, 0, 0, 0); |
| 21 | 21 | ||
| 22 | public ProcessPayloadsCommand(IServiceProvider serviceProvider, IBackendHelper backendHelper, IEnumerable<WixBundlePayloadTuple> payloads, PackagingType defaultPackaging, string layoutDirectory) | 22 | public ProcessPayloadsCommand(IWixToolsetServiceProvider serviceProvider, IBackendHelper backendHelper, IEnumerable<WixBundlePayloadTuple> payloads, PackagingType defaultPackaging, string layoutDirectory) |
| 23 | { | 23 | { |
| 24 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 24 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 25 | 25 | ||
diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs index d2202328..39c4d2f7 100644 --- a/src/WixToolset.Core.TestPackage/WixRunner.cs +++ b/src/WixToolset.Core.TestPackage/WixRunner.cs | |||
| @@ -23,7 +23,7 @@ namespace WixToolset.Core.TestPackage | |||
| 23 | return new WixRunnerResult { ExitCode = exitCode, Messages = messages.ToArray() }; | 23 | return new WixRunnerResult { ExitCode = exitCode, Messages = messages.ToArray() }; |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | public static int Execute(string[] args, IServiceProvider serviceProvider, out List<Message> messages) | 26 | public static int Execute(string[] args, IWixToolsetServiceProvider serviceProvider, out List<Message> messages) |
| 27 | { | 27 | { |
| 28 | var listener = new TestMessageListener(); | 28 | var listener = new TestMessageListener(); |
| 29 | 29 | ||
| @@ -42,7 +42,7 @@ namespace WixToolset.Core.TestPackage | |||
| 42 | return command?.Execute() ?? 1; | 42 | return command?.Execute() ?? 1; |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | private static IExtensionManager CreateExtensionManagerWithStandardBackends(IServiceProvider serviceProvider, string[] extensions) | 45 | private static IExtensionManager CreateExtensionManagerWithStandardBackends(IWixToolsetServiceProvider serviceProvider, string[] extensions) |
| 46 | { | 46 | { |
| 47 | var extensionManager = serviceProvider.GetService<IExtensionManager>(); | 47 | var extensionManager = serviceProvider.GetService<IExtensionManager>(); |
| 48 | 48 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 6878aed5..2ced48ea 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
| @@ -54,7 +54,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 54 | this.BackendExtensions = backendExtension; | 54 | this.BackendExtensions = backendExtension; |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | public IServiceProvider ServiceProvider { get; } | 57 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 58 | 58 | ||
| 59 | private IMessaging Messaging { get; } | 59 | private IMessaging Messaging { get; } |
| 60 | 60 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs index 79b1c619..189c5f01 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CabinetResolver.cs | |||
| @@ -15,7 +15,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 15 | 15 | ||
| 16 | public class CabinetResolver | 16 | public class CabinetResolver |
| 17 | { | 17 | { |
| 18 | public CabinetResolver(IServiceProvider serviceProvider, string cabCachePath, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions) | 18 | public CabinetResolver(IWixToolsetServiceProvider serviceProvider, string cabCachePath, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions) |
| 19 | { | 19 | { |
| 20 | this.ServiceProvider = serviceProvider; | 20 | this.ServiceProvider = serviceProvider; |
| 21 | 21 | ||
| @@ -24,7 +24,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 24 | this.BackendExtensions = backendExtensions; | 24 | this.BackendExtensions = backendExtensions; |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | private IServiceProvider ServiceProvider { get; } | 27 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 28 | 28 | ||
| 29 | private string CabCachePath { get; } | 29 | private string CabCachePath { get; } |
| 30 | 30 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs index 50dc7e3f..2536eeac 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs | |||
| @@ -33,7 +33,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 33 | 33 | ||
| 34 | private Dictionary<string, string> lastCabinetAddedToMediaTable; // Key is First Cabinet Name, Value is Last Cabinet Added in the Split Sequence | 34 | private Dictionary<string, string> lastCabinetAddedToMediaTable; // Key is First Cabinet Name, Value is Last Cabinet Added in the Split Sequence |
| 35 | 35 | ||
| 36 | public CreateCabinetsCommand(IServiceProvider serviceProvider, IBackendHelper backendHelper) | 36 | public CreateCabinetsCommand(IWixToolsetServiceProvider serviceProvider, IBackendHelper backendHelper) |
| 37 | { | 37 | { |
| 38 | this.fileTransfers = new List<IFileTransfer>(); | 38 | this.fileTransfers = new List<IFileTransfer>(); |
| 39 | 39 | ||
| @@ -46,7 +46,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 46 | this.BackendHelper = backendHelper; | 46 | this.BackendHelper = backendHelper; |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | public IServiceProvider ServiceProvider { get; } | 49 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 50 | 50 | ||
| 51 | public IBackendHelper BackendHelper { get; } | 51 | public IBackendHelper BackendHelper { get; } |
| 52 | 52 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs b/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs index 2bc4516d..f60a0e1a 100644 --- a/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs +++ b/src/WixToolset.Core.WindowsInstaller/UnbindContext.cs | |||
| @@ -1,13 +1,19 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| 5 | using System; | 5 | using System; |
| 6 | using WixToolset.Extensibility.Data; | 6 | using WixToolset.Extensibility.Data; |
| 7 | using WixToolset.Extensibility.Services; | ||
| 7 | 8 | ||
| 8 | internal class UnbindContext : IUnbindContext | 9 | internal class UnbindContext : IUnbindContext |
| 9 | { | 10 | { |
| 10 | public IServiceProvider ServiceProvider { get; } | 11 | internal UnbindContext(IWixToolsetServiceProvider serviceProvider) |
| 12 | { | ||
| 13 | this.ServiceProvider = serviceProvider; | ||
| 14 | } | ||
| 15 | |||
| 16 | public IWixToolsetServiceProvider ServiceProvider { get; } | ||
| 11 | 17 | ||
| 12 | public string ExportBasePath { get; set; } | 18 | public string ExportBasePath { get; set; } |
| 13 | 19 | ||
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbinder.cs b/src/WixToolset.Core.WindowsInstaller/Unbinder.cs index e8c109d2..2ca0b557 100644 --- a/src/WixToolset.Core.WindowsInstaller/Unbinder.cs +++ b/src/WixToolset.Core.WindowsInstaller/Unbinder.cs | |||
| @@ -2,11 +2,11 @@ | |||
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| 5 | using System.Collections; | 5 | using System.Collections.Generic; |
| 6 | using System.IO; | 6 | using System.IO; |
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
| 9 | using System.Collections.Generic; | 9 | using WixToolset.Extensibility.Services; |
| 10 | 10 | ||
| 11 | /// <summary> | 11 | /// <summary> |
| 12 | /// Unbinder core of the WiX toolset. | 12 | /// Unbinder core of the WiX toolset. |
| @@ -21,6 +21,8 @@ namespace WixToolset.Core | |||
| 21 | /// <value>Set to true if the input msi is part of an admin image.</value> | 21 | /// <value>Set to true if the input msi is part of an admin image.</value> |
| 22 | public bool IsAdminImage { get; set; } | 22 | public bool IsAdminImage { get; set; } |
| 23 | 23 | ||
| 24 | public IWixToolsetServiceProvider ServiceProvider { get; } | ||
| 25 | |||
| 24 | /// <summary> | 26 | /// <summary> |
| 25 | /// Gets or sets the option to suppress demodularizing values. | 27 | /// Gets or sets the option to suppress demodularizing values. |
| 26 | /// </summary> | 28 | /// </summary> |
| @@ -64,7 +66,7 @@ namespace WixToolset.Core | |||
| 64 | // if we don't have the temporary files object yet, get one | 66 | // if we don't have the temporary files object yet, get one |
| 65 | Directory.CreateDirectory(this.TempFilesLocation); // ensure the base path is there | 67 | Directory.CreateDirectory(this.TempFilesLocation); // ensure the base path is there |
| 66 | 68 | ||
| 67 | var context = new UnbindContext(); | 69 | var context = new UnbindContext(this.ServiceProvider); |
| 68 | context.InputFilePath = file; | 70 | context.InputFilePath = file; |
| 69 | context.ExportBasePath = exportBasePath; | 71 | context.ExportBasePath = exportBasePath; |
| 70 | context.IntermediateFolder = this.TempFilesLocation; | 72 | context.IntermediateFolder = this.TempFilesLocation; |
diff --git a/src/WixToolset.Core/BindContext.cs b/src/WixToolset.Core/BindContext.cs index 67ce744a..1c456a9f 100644 --- a/src/WixToolset.Core/BindContext.cs +++ b/src/WixToolset.Core/BindContext.cs | |||
| @@ -7,15 +7,16 @@ namespace WixToolset.Core | |||
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
| 9 | using WixToolset.Extensibility.Data; | 9 | using WixToolset.Extensibility.Data; |
| 10 | using WixToolset.Extensibility.Services; | ||
| 10 | 11 | ||
| 11 | internal class BindContext : IBindContext | 12 | internal class BindContext : IBindContext |
| 12 | { | 13 | { |
| 13 | internal BindContext(IServiceProvider serviceProvider) | 14 | internal BindContext(IWixToolsetServiceProvider serviceProvider) |
| 14 | { | 15 | { |
| 15 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 19 | 20 | ||
| 20 | public IEnumerable<BindPath> BindPaths { get; set; } | 21 | public IEnumerable<BindPath> BindPaths { get; set; } |
| 21 | 22 | ||
diff --git a/src/WixToolset.Core/Binder.cs b/src/WixToolset.Core/Binder.cs index fcf5a669..e6dd538b 100644 --- a/src/WixToolset.Core/Binder.cs +++ b/src/WixToolset.Core/Binder.cs | |||
| @@ -17,12 +17,12 @@ namespace WixToolset.Core | |||
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | internal class Binder : IBinder | 18 | internal class Binder : IBinder |
| 19 | { | 19 | { |
| 20 | internal Binder(IServiceProvider serviceProvider) | 20 | internal Binder(IWixToolsetServiceProvider serviceProvider) |
| 21 | { | 21 | { |
| 22 | this.ServiceProvider = serviceProvider; | 22 | this.ServiceProvider = serviceProvider; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | public IServiceProvider ServiceProvider { get; } | 25 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 26 | 26 | ||
| 27 | public IBindResult Bind(IBindContext context) | 27 | public IBindResult Bind(IBindContext context) |
| 28 | { | 28 | { |
diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs index 718b3015..a59637fe 100644 --- a/src/WixToolset.Core/CommandLine/BuildCommand.cs +++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs | |||
| @@ -16,7 +16,7 @@ namespace WixToolset.Core.CommandLine | |||
| 16 | { | 16 | { |
| 17 | private readonly CommandLine commandLine; | 17 | private readonly CommandLine commandLine; |
| 18 | 18 | ||
| 19 | public BuildCommand(IServiceProvider serviceProvider) | 19 | public BuildCommand(IWixToolsetServiceProvider serviceProvider) |
| 20 | { | 20 | { |
| 21 | this.ServiceProvider = serviceProvider; | 21 | this.ServiceProvider = serviceProvider; |
| 22 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 22 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| @@ -28,7 +28,7 @@ namespace WixToolset.Core.CommandLine | |||
| 28 | 28 | ||
| 29 | public bool StopParsing => this.commandLine.ShowHelp; | 29 | public bool StopParsing => this.commandLine.ShowHelp; |
| 30 | 30 | ||
| 31 | private IServiceProvider ServiceProvider { get; } | 31 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 32 | 32 | ||
| 33 | private IMessaging Messaging { get; } | 33 | private IMessaging Messaging { get; } |
| 34 | 34 | ||
| @@ -462,13 +462,13 @@ namespace WixToolset.Core.CommandLine | |||
| 462 | 462 | ||
| 463 | public string BuiltOutputsFile { get; private set; } | 463 | public string BuiltOutputsFile { get; private set; } |
| 464 | 464 | ||
| 465 | public CommandLine(IServiceProvider serviceProvider, IMessaging messaging) | 465 | public CommandLine(IWixToolsetServiceProvider serviceProvider, IMessaging messaging) |
| 466 | { | 466 | { |
| 467 | this.ServiceProvider = serviceProvider; | 467 | this.ServiceProvider = serviceProvider; |
| 468 | this.Messaging = messaging; | 468 | this.Messaging = messaging; |
| 469 | } | 469 | } |
| 470 | 470 | ||
| 471 | private IServiceProvider ServiceProvider { get; } | 471 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 472 | 472 | ||
| 473 | private IMessaging Messaging { get; } | 473 | private IMessaging Messaging { get; } |
| 474 | 474 | ||
diff --git a/src/WixToolset.Core/CommandLine/CommandLine.cs b/src/WixToolset.Core/CommandLine/CommandLine.cs index 8e359e14..683d1f5a 100644 --- a/src/WixToolset.Core/CommandLine/CommandLine.cs +++ b/src/WixToolset.Core/CommandLine/CommandLine.cs | |||
| @@ -23,14 +23,14 @@ namespace WixToolset.Core.CommandLine | |||
| 23 | { | 23 | { |
| 24 | private static readonly char[] BindPathSplit = { '=' }; | 24 | private static readonly char[] BindPathSplit = { '=' }; |
| 25 | 25 | ||
| 26 | public CommandLine(IServiceProvider serviceProvider) | 26 | public CommandLine(IWixToolsetServiceProvider serviceProvider) |
| 27 | { | 27 | { |
| 28 | this.ServiceProvider = serviceProvider; | 28 | this.ServiceProvider = serviceProvider; |
| 29 | 29 | ||
| 30 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | 30 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | private IServiceProvider ServiceProvider { get; } | 33 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 34 | 34 | ||
| 35 | private IMessaging Messaging { get; set; } | 35 | private IMessaging Messaging { get; set; } |
| 36 | 36 | ||
diff --git a/src/WixToolset.Core/CommandLine/CommandLineArguments.cs b/src/WixToolset.Core/CommandLine/CommandLineArguments.cs index 5fa547b4..3f412611 100644 --- a/src/WixToolset.Core/CommandLine/CommandLineArguments.cs +++ b/src/WixToolset.Core/CommandLine/CommandLineArguments.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core.CommandLine | 3 | namespace WixToolset.Core.CommandLine |
| 4 | { | 4 | { |
| @@ -20,9 +20,9 @@ namespace WixToolset.Core.CommandLine | |||
| 20 | 20 | ||
| 21 | public string ErrorArgument { get; set; } | 21 | public string ErrorArgument { get; set; } |
| 22 | 22 | ||
| 23 | private IServiceProvider ServiceProvider { get; } | 23 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 24 | 24 | ||
| 25 | public CommandLineArguments(IServiceProvider serviceProvider) | 25 | public CommandLineArguments(IWixToolsetServiceProvider serviceProvider) |
| 26 | { | 26 | { |
| 27 | this.ServiceProvider = serviceProvider; | 27 | this.ServiceProvider = serviceProvider; |
| 28 | } | 28 | } |
| @@ -43,7 +43,7 @@ namespace WixToolset.Core.CommandLine | |||
| 43 | 43 | ||
| 44 | public ICommandLineParser Parse() | 44 | public ICommandLineParser Parse() |
| 45 | { | 45 | { |
| 46 | var messaging = (IMessaging)this.ServiceProvider.GetService(typeof(IMessaging)); | 46 | var messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 47 | 47 | ||
| 48 | return new CommandLineParser(messaging, this.Arguments, this.ErrorArgument); | 48 | return new CommandLineParser(messaging, this.Arguments, this.ErrorArgument); |
| 49 | } | 49 | } |
diff --git a/src/WixToolset.Core/CommandLine/CommandLineContext.cs b/src/WixToolset.Core/CommandLine/CommandLineContext.cs index ea0cf3d4..6bf05590 100644 --- a/src/WixToolset.Core/CommandLine/CommandLineContext.cs +++ b/src/WixToolset.Core/CommandLine/CommandLineContext.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core.CommandLine | 3 | namespace WixToolset.Core.CommandLine |
| 4 | { | 4 | { |
| @@ -8,12 +8,12 @@ namespace WixToolset.Core.CommandLine | |||
| 8 | 8 | ||
| 9 | internal class CommandLineContext : ICommandLineContext | 9 | internal class CommandLineContext : ICommandLineContext |
| 10 | { | 10 | { |
| 11 | public CommandLineContext(IServiceProvider serviceProvider) | 11 | public CommandLineContext(IWixToolsetServiceProvider serviceProvider) |
| 12 | { | 12 | { |
| 13 | this.ServiceProvider = serviceProvider; | 13 | this.ServiceProvider = serviceProvider; |
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | public IServiceProvider ServiceProvider { get; } | 16 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 17 | 17 | ||
| 18 | public IExtensionManager ExtensionManager { get; set; } | 18 | public IExtensionManager ExtensionManager { get; set; } |
| 19 | 19 | ||
diff --git a/src/WixToolset.Core/CommandLine/CompileCommand.cs b/src/WixToolset.Core/CommandLine/CompileCommand.cs index 0a354a8f..67756947 100644 --- a/src/WixToolset.Core/CommandLine/CompileCommand.cs +++ b/src/WixToolset.Core/CommandLine/CompileCommand.cs | |||
| @@ -12,14 +12,14 @@ namespace WixToolset.Core.CommandLine | |||
| 12 | 12 | ||
| 13 | internal class CompileCommand : ICommandLineCommand | 13 | internal class CompileCommand : ICommandLineCommand |
| 14 | { | 14 | { |
| 15 | public CompileCommand(IServiceProvider serviceProvider) | 15 | public CompileCommand(IWixToolsetServiceProvider serviceProvider) |
| 16 | { | 16 | { |
| 17 | this.ServiceProvider = serviceProvider; | 17 | this.ServiceProvider = serviceProvider; |
| 18 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 18 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 19 | this.ExtensionManager = serviceProvider.GetService<IExtensionManager>(); | 19 | this.ExtensionManager = serviceProvider.GetService<IExtensionManager>(); |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | public CompileCommand(IServiceProvider serviceProvider, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, Platform platform) | 22 | public CompileCommand(IWixToolsetServiceProvider serviceProvider, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, Platform platform) |
| 23 | { | 23 | { |
| 24 | this.ServiceProvider = serviceProvider; | 24 | this.ServiceProvider = serviceProvider; |
| 25 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 25 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| @@ -29,7 +29,7 @@ namespace WixToolset.Core.CommandLine | |||
| 29 | this.Platform = platform; | 29 | this.Platform = platform; |
| 30 | } | 30 | } |
| 31 | 31 | ||
| 32 | private IServiceProvider ServiceProvider { get; } | 32 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 33 | 33 | ||
| 34 | public IMessaging Messaging { get; } | 34 | public IMessaging Messaging { get; } |
| 35 | 35 | ||
diff --git a/src/WixToolset.Core/CommandLine/DecompileCommand.cs b/src/WixToolset.Core/CommandLine/DecompileCommand.cs index fbba3d9f..0e21a4f4 100644 --- a/src/WixToolset.Core/CommandLine/DecompileCommand.cs +++ b/src/WixToolset.Core/CommandLine/DecompileCommand.cs | |||
| @@ -14,7 +14,7 @@ namespace WixToolset.Core.CommandLine | |||
| 14 | { | 14 | { |
| 15 | private readonly CommandLine commandLine; | 15 | private readonly CommandLine commandLine; |
| 16 | 16 | ||
| 17 | public DecompileCommand(IServiceProvider serviceProvider) | 17 | public DecompileCommand(IWixToolsetServiceProvider serviceProvider) |
| 18 | { | 18 | { |
| 19 | this.ServiceProvider = serviceProvider; | 19 | this.ServiceProvider = serviceProvider; |
| 20 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 20 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| @@ -25,7 +25,7 @@ namespace WixToolset.Core.CommandLine | |||
| 25 | 25 | ||
| 26 | public bool StopParsing => this.commandLine.ShowHelp; | 26 | public bool StopParsing => this.commandLine.ShowHelp; |
| 27 | 27 | ||
| 28 | private IServiceProvider ServiceProvider { get; } | 28 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 29 | 29 | ||
| 30 | public IMessaging Messaging { get; } | 30 | public IMessaging Messaging { get; } |
| 31 | 31 | ||
diff --git a/src/WixToolset.Core/CompileContext.cs b/src/WixToolset.Core/CompileContext.cs index c7a0905e..f92a131d 100644 --- a/src/WixToolset.Core/CompileContext.cs +++ b/src/WixToolset.Core/CompileContext.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| @@ -8,15 +8,16 @@ namespace WixToolset.Core | |||
| 8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
| 9 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
| 10 | using WixToolset.Extensibility.Data; | 10 | using WixToolset.Extensibility.Data; |
| 11 | using WixToolset.Extensibility.Services; | ||
| 11 | 12 | ||
| 12 | internal class CompileContext : ICompileContext | 13 | internal class CompileContext : ICompileContext |
| 13 | { | 14 | { |
| 14 | internal CompileContext(IServiceProvider serviceProvider) | 15 | internal CompileContext(IWixToolsetServiceProvider serviceProvider) |
| 15 | { | 16 | { |
| 16 | this.ServiceProvider = serviceProvider; | 17 | this.ServiceProvider = serviceProvider; |
| 17 | } | 18 | } |
| 18 | 19 | ||
| 19 | public IServiceProvider ServiceProvider { get; } | 20 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 20 | 21 | ||
| 21 | public string CompilationId { get; set; } | 22 | public string CompilationId { get; set; } |
| 22 | 23 | ||
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs index 7638c11e..0eb0b1d3 100644 --- a/src/WixToolset.Core/Compiler.cs +++ b/src/WixToolset.Core/Compiler.cs | |||
| @@ -56,14 +56,14 @@ namespace WixToolset.Core | |||
| 56 | Icon, | 56 | Icon, |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | internal Compiler(IServiceProvider serviceProvider) | 59 | internal Compiler(IWixToolsetServiceProvider serviceProvider) |
| 60 | { | 60 | { |
| 61 | this.ServiceProvider = serviceProvider; | 61 | this.ServiceProvider = serviceProvider; |
| 62 | 62 | ||
| 63 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 63 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | private IServiceProvider ServiceProvider { get; } | 66 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 67 | 67 | ||
| 68 | public IMessaging Messaging { get; } | 68 | public IMessaging Messaging { get; } |
| 69 | 69 | ||
diff --git a/src/WixToolset.Core/DecompileContext.cs b/src/WixToolset.Core/DecompileContext.cs index c6902117..fb59cd08 100644 --- a/src/WixToolset.Core/DecompileContext.cs +++ b/src/WixToolset.Core/DecompileContext.cs | |||
| @@ -7,15 +7,16 @@ namespace WixToolset.Core | |||
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
| 9 | using WixToolset.Extensibility.Data; | 9 | using WixToolset.Extensibility.Data; |
| 10 | using WixToolset.Extensibility.Services; | ||
| 10 | 11 | ||
| 11 | internal class DecompileContext : IDecompileContext | 12 | internal class DecompileContext : IDecompileContext |
| 12 | { | 13 | { |
| 13 | internal DecompileContext(IServiceProvider serviceProvider) | 14 | internal DecompileContext(IWixToolsetServiceProvider serviceProvider) |
| 14 | { | 15 | { |
| 15 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 19 | 20 | ||
| 20 | public string DecompilePath { get; set; } | 21 | public string DecompilePath { get; set; } |
| 21 | 22 | ||
diff --git a/src/WixToolset.Core/Decompiler.cs b/src/WixToolset.Core/Decompiler.cs index 859f582b..e146362f 100644 --- a/src/WixToolset.Core/Decompiler.cs +++ b/src/WixToolset.Core/Decompiler.cs | |||
| @@ -12,12 +12,12 @@ namespace WixToolset.Core | |||
| 12 | /// </summary> | 12 | /// </summary> |
| 13 | internal class Decompiler : IDecompiler | 13 | internal class Decompiler : IDecompiler |
| 14 | { | 14 | { |
| 15 | internal Decompiler(IServiceProvider serviceProvider) | 15 | internal Decompiler(IWixToolsetServiceProvider serviceProvider) |
| 16 | { | 16 | { |
| 17 | this.ServiceProvider = serviceProvider; | 17 | this.ServiceProvider = serviceProvider; |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | public IServiceProvider ServiceProvider { get; } | 20 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 21 | 21 | ||
| 22 | public IDecompileResult Decompile(IDecompileContext context) | 22 | public IDecompileResult Decompile(IDecompileContext context) |
| 23 | { | 23 | { |
diff --git a/src/WixToolset.Core/ExtensibilityServices/BackendHelper.cs b/src/WixToolset.Core/ExtensibilityServices/BackendHelper.cs index 0bdecf7a..e4b6e959 100644 --- a/src/WixToolset.Core/ExtensibilityServices/BackendHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/BackendHelper.cs | |||
| @@ -12,7 +12,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 12 | { | 12 | { |
| 13 | private static readonly string[] ReservedFileNames = { "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9" }; | 13 | private static readonly string[] ReservedFileNames = { "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9" }; |
| 14 | 14 | ||
| 15 | public BackendHelper(IServiceProvider serviceProvider) | 15 | public BackendHelper(IWixToolsetServiceProvider serviceProvider) |
| 16 | { | 16 | { |
| 17 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 17 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 18 | } | 18 | } |
diff --git a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs index ed529dbb..f7c5e309 100644 --- a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs | |||
| @@ -33,14 +33,14 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 33 | 33 | ||
| 34 | private static readonly Regex PutGuidHere = new Regex(@"PUT\-GUID\-(?:\d+\-)?HERE", RegexOptions.Singleline); | 34 | private static readonly Regex PutGuidHere = new Regex(@"PUT\-GUID\-(?:\d+\-)?HERE", RegexOptions.Singleline); |
| 35 | 35 | ||
| 36 | public ParseHelper(IServiceProvider serviceProvider) | 36 | public ParseHelper(IWixToolsetServiceProvider serviceProvider) |
| 37 | { | 37 | { |
| 38 | this.ServiceProvider = serviceProvider; | 38 | this.ServiceProvider = serviceProvider; |
| 39 | 39 | ||
| 40 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 40 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | private IServiceProvider ServiceProvider { get; } | 43 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 44 | 44 | ||
| 45 | private IMessaging Messaging { get; } | 45 | private IMessaging Messaging { get; } |
| 46 | 46 | ||
| @@ -976,7 +976,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 976 | 976 | ||
| 977 | private void CreateTupleDefinitionCreator() | 977 | private void CreateTupleDefinitionCreator() |
| 978 | { | 978 | { |
| 979 | this.Creator = (ITupleDefinitionCreator)this.ServiceProvider.GetService(typeof(ITupleDefinitionCreator)); | 979 | this.Creator = this.ServiceProvider.GetService<ITupleDefinitionCreator>(); |
| 980 | } | 980 | } |
| 981 | 981 | ||
| 982 | private static IntermediateTuple CreateTuple(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateTupleDefinition tupleDefinition, Identifier identifier) | 982 | private static IntermediateTuple CreateTuple(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateTupleDefinition tupleDefinition, Identifier identifier) |
diff --git a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs index 215c7bc4..bdf11879 100644 --- a/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/PreprocessHelper.cs | |||
| @@ -17,14 +17,14 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 17 | private static readonly char[] VariableSplitter = new char[] { '.' }; | 17 | private static readonly char[] VariableSplitter = new char[] { '.' }; |
| 18 | private static readonly char[] ArgumentSplitter = new char[] { ',' }; | 18 | private static readonly char[] ArgumentSplitter = new char[] { ',' }; |
| 19 | 19 | ||
| 20 | public PreprocessHelper(IServiceProvider serviceProvider) | 20 | public PreprocessHelper(IWixToolsetServiceProvider serviceProvider) |
| 21 | { | 21 | { |
| 22 | this.ServiceProvider = serviceProvider; | 22 | this.ServiceProvider = serviceProvider; |
| 23 | 23 | ||
| 24 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | 24 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 25 | } | 25 | } |
| 26 | 26 | ||
| 27 | private IServiceProvider ServiceProvider { get; } | 27 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 28 | 28 | ||
| 29 | private IMessaging Messaging { get; } | 29 | private IMessaging Messaging { get; } |
| 30 | 30 | ||
diff --git a/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs b/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs index aeeeebe7..7ef72afc 100644 --- a/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs +++ b/src/WixToolset.Core/ExtensibilityServices/TupleDefinitionCreator.cs | |||
| @@ -10,12 +10,12 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 10 | 10 | ||
| 11 | internal class TupleDefinitionCreator : ITupleDefinitionCreator | 11 | internal class TupleDefinitionCreator : ITupleDefinitionCreator |
| 12 | { | 12 | { |
| 13 | public TupleDefinitionCreator(IServiceProvider serviceProvider) | 13 | public TupleDefinitionCreator(IWixToolsetServiceProvider serviceProvider) |
| 14 | { | 14 | { |
| 15 | this.ServiceProvider = serviceProvider; | 15 | this.ServiceProvider = serviceProvider; |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | private IServiceProvider ServiceProvider { get; } | 18 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 19 | 19 | ||
| 20 | private IEnumerable<IExtensionData> ExtensionData { get; set; } | 20 | private IEnumerable<IExtensionData> ExtensionData { get; set; } |
| 21 | 21 | ||
| @@ -62,7 +62,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 62 | 62 | ||
| 63 | private void LoadExtensionData() | 63 | private void LoadExtensionData() |
| 64 | { | 64 | { |
| 65 | var extensionManager = (IExtensionManager)this.ServiceProvider.GetService(typeof(IExtensionManager)); | 65 | var extensionManager = this.ServiceProvider.GetService<IExtensionManager>(); |
| 66 | 66 | ||
| 67 | this.ExtensionData = extensionManager.GetServices<IExtensionData>(); | 67 | this.ExtensionData = extensionManager.GetServices<IExtensionData>(); |
| 68 | } | 68 | } |
diff --git a/src/WixToolset.Core/IncribeContext.cs b/src/WixToolset.Core/IncribeContext.cs index 9a002d68..8db4daef 100644 --- a/src/WixToolset.Core/IncribeContext.cs +++ b/src/WixToolset.Core/IncribeContext.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| @@ -8,12 +8,12 @@ namespace WixToolset.Core | |||
| 8 | 8 | ||
| 9 | internal class InscribeContext : IInscribeContext | 9 | internal class InscribeContext : IInscribeContext |
| 10 | { | 10 | { |
| 11 | public InscribeContext(IServiceProvider serviceProvider) | 11 | public InscribeContext(IWixToolsetServiceProvider serviceProvider) |
| 12 | { | 12 | { |
| 13 | this.ServiceProvider = serviceProvider; | 13 | this.ServiceProvider = serviceProvider; |
| 14 | } | 14 | } |
| 15 | 15 | ||
| 16 | public IServiceProvider ServiceProvider { get; } | 16 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 17 | 17 | ||
| 18 | public string IntermediateFolder { get; set; } | 18 | public string IntermediateFolder { get; set; } |
| 19 | 19 | ||
diff --git a/src/WixToolset.Core/LayoutContext.cs b/src/WixToolset.Core/LayoutContext.cs index b8a8635d..385aa610 100644 --- a/src/WixToolset.Core/LayoutContext.cs +++ b/src/WixToolset.Core/LayoutContext.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| @@ -6,15 +6,16 @@ namespace WixToolset.Core | |||
| 6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
| 7 | using WixToolset.Extensibility; | 7 | using WixToolset.Extensibility; |
| 8 | using WixToolset.Extensibility.Data; | 8 | using WixToolset.Extensibility.Data; |
| 9 | using WixToolset.Extensibility.Services; | ||
| 9 | 10 | ||
| 10 | internal class LayoutContext : ILayoutContext | 11 | internal class LayoutContext : ILayoutContext |
| 11 | { | 12 | { |
| 12 | internal LayoutContext(IServiceProvider serviceProvider) | 13 | internal LayoutContext(IWixToolsetServiceProvider serviceProvider) |
| 13 | { | 14 | { |
| 14 | this.ServiceProvider = serviceProvider; | 15 | this.ServiceProvider = serviceProvider; |
| 15 | } | 16 | } |
| 16 | 17 | ||
| 17 | public IServiceProvider ServiceProvider { get; } | 18 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 18 | 19 | ||
| 19 | public IEnumerable<ILayoutExtension> Extensions { get; set; } | 20 | public IEnumerable<ILayoutExtension> Extensions { get; set; } |
| 20 | 21 | ||
diff --git a/src/WixToolset.Core/LayoutCreator.cs b/src/WixToolset.Core/LayoutCreator.cs index 684465d2..16fdd70f 100644 --- a/src/WixToolset.Core/LayoutCreator.cs +++ b/src/WixToolset.Core/LayoutCreator.cs | |||
| @@ -16,14 +16,14 @@ namespace WixToolset.Core | |||
| 16 | /// </summary> | 16 | /// </summary> |
| 17 | internal class LayoutCreator : ILayoutCreator | 17 | internal class LayoutCreator : ILayoutCreator |
| 18 | { | 18 | { |
| 19 | internal LayoutCreator(IServiceProvider serviceProvider) | 19 | internal LayoutCreator(IWixToolsetServiceProvider serviceProvider) |
| 20 | { | 20 | { |
| 21 | this.ServiceProvider = serviceProvider; | 21 | this.ServiceProvider = serviceProvider; |
| 22 | 22 | ||
| 23 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 23 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | private IServiceProvider ServiceProvider { get; } | 26 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 27 | 27 | ||
| 28 | private IMessaging Messaging { get; } | 28 | private IMessaging Messaging { get; } |
| 29 | 29 | ||
diff --git a/src/WixToolset.Core/Librarian.cs b/src/WixToolset.Core/Librarian.cs index d862c326..0c519b88 100644 --- a/src/WixToolset.Core/Librarian.cs +++ b/src/WixToolset.Core/Librarian.cs | |||
| @@ -16,14 +16,14 @@ namespace WixToolset.Core | |||
| 16 | /// </summary> | 16 | /// </summary> |
| 17 | internal class Librarian : ILibrarian | 17 | internal class Librarian : ILibrarian |
| 18 | { | 18 | { |
| 19 | internal Librarian(IServiceProvider serviceProvider) | 19 | internal Librarian(IWixToolsetServiceProvider serviceProvider) |
| 20 | { | 20 | { |
| 21 | this.ServiceProvider = serviceProvider; | 21 | this.ServiceProvider = serviceProvider; |
| 22 | 22 | ||
| 23 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | 23 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | private IServiceProvider ServiceProvider { get; } | 26 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 27 | 27 | ||
| 28 | private IMessaging Messaging { get; } | 28 | private IMessaging Messaging { get; } |
| 29 | 29 | ||
diff --git a/src/WixToolset.Core/LibraryContext.cs b/src/WixToolset.Core/LibraryContext.cs index 5dd17dc8..4df19702 100644 --- a/src/WixToolset.Core/LibraryContext.cs +++ b/src/WixToolset.Core/LibraryContext.cs | |||
| @@ -11,12 +11,12 @@ namespace WixToolset.Core | |||
| 11 | 11 | ||
| 12 | internal class LibraryContext : ILibraryContext | 12 | internal class LibraryContext : ILibraryContext |
| 13 | { | 13 | { |
| 14 | internal LibraryContext(IServiceProvider serviceProvider) | 14 | internal LibraryContext(IWixToolsetServiceProvider serviceProvider) |
| 15 | { | 15 | { |
| 16 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 20 | 20 | ||
| 21 | public IMessaging Messaging { get; set; } | 21 | public IMessaging Messaging { get; set; } |
| 22 | 22 | ||
diff --git a/src/WixToolset.Core/LinkContext.cs b/src/WixToolset.Core/LinkContext.cs index f45a3411..64dd2320 100644 --- a/src/WixToolset.Core/LinkContext.cs +++ b/src/WixToolset.Core/LinkContext.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // 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. | 1 | // 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. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core | 3 | namespace WixToolset.Core |
| 4 | { | 4 | { |
| @@ -7,15 +7,16 @@ namespace WixToolset.Core | |||
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
| 9 | using WixToolset.Extensibility.Data; | 9 | using WixToolset.Extensibility.Data; |
| 10 | using WixToolset.Extensibility.Services; | ||
| 10 | 11 | ||
| 11 | internal class LinkContext : ILinkContext | 12 | internal class LinkContext : ILinkContext |
| 12 | { | 13 | { |
| 13 | internal LinkContext(IServiceProvider serviceProvider) | 14 | internal LinkContext(IWixToolsetServiceProvider serviceProvider) |
| 14 | { | 15 | { |
| 15 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 19 | 20 | ||
| 20 | public IEnumerable<ILinkerExtension> Extensions { get; set; } | 21 | public IEnumerable<ILinkerExtension> Extensions { get; set; } |
| 21 | 22 | ||
diff --git a/src/WixToolset.Core/Linker.cs b/src/WixToolset.Core/Linker.cs index f05aabd1..bc4f5774 100644 --- a/src/WixToolset.Core/Linker.cs +++ b/src/WixToolset.Core/Linker.cs | |||
| @@ -27,14 +27,14 @@ namespace WixToolset.Core | |||
| 27 | /// <summary> | 27 | /// <summary> |
| 28 | /// Creates a linker. | 28 | /// Creates a linker. |
| 29 | /// </summary> | 29 | /// </summary> |
| 30 | internal Linker(IServiceProvider serviceProvider) | 30 | internal Linker(IWixToolsetServiceProvider serviceProvider) |
| 31 | { | 31 | { |
| 32 | this.ServiceProvider = serviceProvider; | 32 | this.ServiceProvider = serviceProvider; |
| 33 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | 33 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 34 | this.sectionIdOnRows = true; // TODO: what is the correct value for this? | 34 | this.sectionIdOnRows = true; // TODO: what is the correct value for this? |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | private IServiceProvider ServiceProvider { get; } | 37 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 38 | 38 | ||
| 39 | private IMessaging Messaging { get; } | 39 | private IMessaging Messaging { get; } |
| 40 | 40 | ||
diff --git a/src/WixToolset.Core/LocalizationParser.cs b/src/WixToolset.Core/LocalizationParser.cs index a3272fc8..3b66b707 100644 --- a/src/WixToolset.Core/LocalizationParser.cs +++ b/src/WixToolset.Core/LocalizationParser.cs | |||
| @@ -15,7 +15,7 @@ namespace WixToolset.Core | |||
| 15 | public static readonly XNamespace WxlNamespace = "http://wixtoolset.org/schemas/v4/wxl"; | 15 | public static readonly XNamespace WxlNamespace = "http://wixtoolset.org/schemas/v4/wxl"; |
| 16 | private const string XmlElementName = "WixLocalization"; | 16 | private const string XmlElementName = "WixLocalization"; |
| 17 | 17 | ||
| 18 | internal LocalizationParser(IServiceProvider serviceProvider) | 18 | internal LocalizationParser(IWixToolsetServiceProvider serviceProvider) |
| 19 | { | 19 | { |
| 20 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 20 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| 21 | } | 21 | } |
diff --git a/src/WixToolset.Core/PreprocessContext.cs b/src/WixToolset.Core/PreprocessContext.cs index 749bf213..15529d24 100644 --- a/src/WixToolset.Core/PreprocessContext.cs +++ b/src/WixToolset.Core/PreprocessContext.cs | |||
| @@ -7,15 +7,16 @@ namespace WixToolset.Core | |||
| 7 | using WixToolset.Data; | 7 | using WixToolset.Data; |
| 8 | using WixToolset.Extensibility; | 8 | using WixToolset.Extensibility; |
| 9 | using WixToolset.Extensibility.Data; | 9 | using WixToolset.Extensibility.Data; |
| 10 | using WixToolset.Extensibility.Services; | ||
| 10 | 11 | ||
| 11 | internal class PreprocessContext : IPreprocessContext | 12 | internal class PreprocessContext : IPreprocessContext |
| 12 | { | 13 | { |
| 13 | internal PreprocessContext(IServiceProvider serviceProvider) | 14 | internal PreprocessContext(IWixToolsetServiceProvider serviceProvider) |
| 14 | { | 15 | { |
| 15 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 16 | } | 17 | } |
| 17 | 18 | ||
| 18 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 19 | 20 | ||
| 20 | public IEnumerable<IPreprocessorExtension> Extensions { get; set; } | 21 | public IEnumerable<IPreprocessorExtension> Extensions { get; set; } |
| 21 | 22 | ||
diff --git a/src/WixToolset.Core/Preprocessor.cs b/src/WixToolset.Core/Preprocessor.cs index d897446c..c6cd3801 100644 --- a/src/WixToolset.Core/Preprocessor.cs +++ b/src/WixToolset.Core/Preprocessor.cs | |||
| @@ -37,14 +37,14 @@ namespace WixToolset.Core | |||
| 37 | XmlResolver = null, | 37 | XmlResolver = null, |
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | internal Preprocessor(IServiceProvider serviceProvider) | 40 | internal Preprocessor(IWixToolsetServiceProvider serviceProvider) |
| 41 | { | 41 | { |
| 42 | this.ServiceProvider = serviceProvider; | 42 | this.ServiceProvider = serviceProvider; |
| 43 | 43 | ||
| 44 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); | 44 | this.Messaging = this.ServiceProvider.GetService<IMessaging>(); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | private IServiceProvider ServiceProvider { get; } | 47 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 48 | 48 | ||
| 49 | private IMessaging Messaging { get; } | 49 | private IMessaging Messaging { get; } |
| 50 | 50 | ||
| @@ -1469,7 +1469,7 @@ namespace WixToolset.Core | |||
| 1469 | 1469 | ||
| 1470 | private class ProcessingState | 1470 | private class ProcessingState |
| 1471 | { | 1471 | { |
| 1472 | public ProcessingState(IServiceProvider serviceProvider, IPreprocessContext context) | 1472 | public ProcessingState(IWixToolsetServiceProvider serviceProvider, IPreprocessContext context) |
| 1473 | { | 1473 | { |
| 1474 | var path = Path.GetFullPath(context.SourcePath); | 1474 | var path = Path.GetFullPath(context.SourcePath); |
| 1475 | 1475 | ||
diff --git a/src/WixToolset.Core/ResolveContext.cs b/src/WixToolset.Core/ResolveContext.cs index 1694d6e5..34da34d1 100644 --- a/src/WixToolset.Core/ResolveContext.cs +++ b/src/WixToolset.Core/ResolveContext.cs | |||
| @@ -11,12 +11,12 @@ namespace WixToolset.Core | |||
| 11 | 11 | ||
| 12 | internal class ResolveContext : IResolveContext | 12 | internal class ResolveContext : IResolveContext |
| 13 | { | 13 | { |
| 14 | internal ResolveContext(IServiceProvider serviceProvider) | 14 | internal ResolveContext(IWixToolsetServiceProvider serviceProvider) |
| 15 | { | 15 | { |
| 16 | this.ServiceProvider = serviceProvider; | 16 | this.ServiceProvider = serviceProvider; |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | public IServiceProvider ServiceProvider { get; } | 19 | public IWixToolsetServiceProvider ServiceProvider { get; } |
| 20 | 20 | ||
| 21 | public IEnumerable<IBindPath> BindPaths { get; set; } | 21 | public IEnumerable<IBindPath> BindPaths { get; set; } |
| 22 | 22 | ||
diff --git a/src/WixToolset.Core/Resolver.cs b/src/WixToolset.Core/Resolver.cs index d4a03d82..1342444f 100644 --- a/src/WixToolset.Core/Resolver.cs +++ b/src/WixToolset.Core/Resolver.cs | |||
| @@ -17,7 +17,7 @@ namespace WixToolset.Core | |||
| 17 | /// </summary> | 17 | /// </summary> |
| 18 | internal class Resolver : IResolver | 18 | internal class Resolver : IResolver |
| 19 | { | 19 | { |
| 20 | internal Resolver(IServiceProvider serviceProvider) | 20 | internal Resolver(IWixToolsetServiceProvider serviceProvider) |
| 21 | { | 21 | { |
| 22 | this.ServiceProvider = serviceProvider; | 22 | this.ServiceProvider = serviceProvider; |
| 23 | 23 | ||
| @@ -26,7 +26,7 @@ namespace WixToolset.Core | |||
| 26 | this.VariableResolver = serviceProvider.GetService<IVariableResolver>(); | 26 | this.VariableResolver = serviceProvider.GetService<IVariableResolver>(); |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | private IServiceProvider ServiceProvider { get; } | 29 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 30 | 30 | ||
| 31 | private IMessaging Messaging { get; } | 31 | private IMessaging Messaging { get; } |
| 32 | 32 | ||
diff --git a/src/WixToolset.Core/VariableResolver.cs b/src/WixToolset.Core/VariableResolver.cs index 8cddfaa5..88067673 100644 --- a/src/WixToolset.Core/VariableResolver.cs +++ b/src/WixToolset.Core/VariableResolver.cs | |||
| @@ -21,7 +21,7 @@ namespace WixToolset.Core | |||
| 21 | /// <summary> | 21 | /// <summary> |
| 22 | /// Instantiate a new VariableResolver. | 22 | /// Instantiate a new VariableResolver. |
| 23 | /// </summary> | 23 | /// </summary> |
| 24 | internal VariableResolver(IServiceProvider serviceProvider) | 24 | internal VariableResolver(IWixToolsetServiceProvider serviceProvider) |
| 25 | { | 25 | { |
| 26 | this.ServiceProvider = serviceProvider; | 26 | this.ServiceProvider = serviceProvider; |
| 27 | this.Messaging = serviceProvider.GetService<IMessaging>(); | 27 | this.Messaging = serviceProvider.GetService<IMessaging>(); |
| @@ -31,7 +31,7 @@ namespace WixToolset.Core | |||
| 31 | this.localizedControls = new Dictionary<string, LocalizedControl>(); | 31 | this.localizedControls = new Dictionary<string, LocalizedControl>(); |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | private IServiceProvider ServiceProvider { get; } | 34 | private IWixToolsetServiceProvider ServiceProvider { get; } |
| 35 | 35 | ||
| 36 | private IMessaging Messaging { get; } | 36 | private IMessaging Messaging { get; } |
| 37 | 37 | ||
diff --git a/src/WixToolset.Core/WixToolsetServiceProvider.cs b/src/WixToolset.Core/WixToolsetServiceProvider.cs index c7d6ff1d..68def7a8 100644 --- a/src/WixToolset.Core/WixToolsetServiceProvider.cs +++ b/src/WixToolset.Core/WixToolsetServiceProvider.cs | |||
| @@ -10,11 +10,11 @@ namespace WixToolset.Core | |||
| 10 | using WixToolset.Extensibility.Data; | 10 | using WixToolset.Extensibility.Data; |
| 11 | using WixToolset.Extensibility.Services; | 11 | using WixToolset.Extensibility.Services; |
| 12 | 12 | ||
| 13 | public sealed class WixToolsetServiceProvider : IServiceProvider | 13 | public sealed class WixToolsetServiceProvider : IWixToolsetCoreServiceProvider |
| 14 | { | 14 | { |
| 15 | public WixToolsetServiceProvider() | 15 | public WixToolsetServiceProvider() |
| 16 | { | 16 | { |
| 17 | this.CreationFunctions = new Dictionary<Type, Func<IServiceProvider, Dictionary<Type, object>, object>>(); | 17 | this.CreationFunctions = new Dictionary<Type, Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, object>>(); |
| 18 | this.Singletons = new Dictionary<Type, object>(); | 18 | this.Singletons = new Dictionary<Type, object>(); |
| 19 | 19 | ||
| 20 | // Singletons. | 20 | // Singletons. |
| @@ -67,7 +67,7 @@ namespace WixToolset.Core | |||
| 67 | this.AddService<IVariableResolver>((provider, singletons) => new VariableResolver(provider)); | 67 | this.AddService<IVariableResolver>((provider, singletons) => new VariableResolver(provider)); |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | private Dictionary<Type, Func<IServiceProvider, Dictionary<Type, object>, object>> CreationFunctions { get; } | 70 | private Dictionary<Type, Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, object>> CreationFunctions { get; } |
| 71 | 71 | ||
| 72 | private Dictionary<Type, object> Singletons { get; } | 72 | private Dictionary<Type, object> Singletons { get; } |
| 73 | 73 | ||
| @@ -96,17 +96,31 @@ namespace WixToolset.Core | |||
| 96 | return service != null; | 96 | return service != null; |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | public bool TryGetService<T>(out T service) | ||
| 100 | where T : class | ||
| 101 | { | ||
| 102 | var success = this.TryGetService(typeof(T), out var untypedService); | ||
| 103 | service = (T)untypedService; | ||
| 104 | return success; | ||
| 105 | } | ||
| 106 | |||
| 99 | public object GetService(Type serviceType) | 107 | public object GetService(Type serviceType) |
| 100 | { | 108 | { |
| 101 | return this.TryGetService(serviceType, out var service) ? service : throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); | 109 | return this.TryGetService(serviceType, out var service) ? service : throw new ArgumentException($"Unknown service type: {serviceType.Name}", nameof(serviceType)); |
| 102 | } | 110 | } |
| 103 | 111 | ||
| 104 | public void AddService(Type serviceType, Func<IServiceProvider, Dictionary<Type, object>, object> creationFunction) | 112 | public T GetService<T>() |
| 113 | where T : class | ||
| 114 | { | ||
| 115 | return (T)this.GetService(typeof(T)); | ||
| 116 | } | ||
| 117 | |||
| 118 | public void AddService(Type serviceType, Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, object> creationFunction) | ||
| 105 | { | 119 | { |
| 106 | this.CreationFunctions[serviceType] = creationFunction; | 120 | this.CreationFunctions[serviceType] = creationFunction; |
| 107 | } | 121 | } |
| 108 | 122 | ||
| 109 | public void AddService<T>(Func<IServiceProvider, Dictionary<Type, object>, T> creationFunction) | 123 | public void AddService<T>(Func<IWixToolsetCoreServiceProvider, Dictionary<Type, object>, T> creationFunction) |
| 110 | where T : class | 124 | where T : class |
| 111 | { | 125 | { |
| 112 | this.AddService(typeof(T), creationFunction); | 126 | this.AddService(typeof(T), creationFunction); |
diff --git a/src/test/WixToolsetTest.CoreIntegration/PreprocessorFixture.cs b/src/test/WixToolsetTest.CoreIntegration/PreprocessorFixture.cs index b1a4c607..432d025a 100644 --- a/src/test/WixToolsetTest.CoreIntegration/PreprocessorFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/PreprocessorFixture.cs | |||
| @@ -23,11 +23,11 @@ namespace WixToolsetTest.CoreIntegration | |||
| 23 | 23 | ||
| 24 | var serviceProvider = new WixToolsetServiceProvider(); | 24 | var serviceProvider = new WixToolsetServiceProvider(); |
| 25 | 25 | ||
| 26 | var context = (IPreprocessContext)serviceProvider.GetService(typeof(IPreprocessContext)); | 26 | var context = serviceProvider.GetService<IPreprocessContext>(); |
| 27 | context.SourcePath = sourcePath; | 27 | context.SourcePath = sourcePath; |
| 28 | context.IncludeSearchPaths = new[] { includeFolder }; | 28 | context.IncludeSearchPaths = new[] { includeFolder }; |
| 29 | 29 | ||
| 30 | var preprocessor = (IPreprocessor)serviceProvider.GetService(typeof(IPreprocessor)); | 30 | var preprocessor = serviceProvider.GetService<IPreprocessor>(); |
| 31 | var result = preprocessor.Preprocess(context); | 31 | var result = preprocessor.Preprocess(context); |
| 32 | 32 | ||
| 33 | var includedFile = result.IncludedFiles.Single(); | 33 | var includedFile = result.IncludedFiles.Single(); |
