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(); |