aboutsummaryrefslogtreecommitdiff
path: root/src/tools/heat/HeatCore.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/heat/HeatCore.cs')
-rw-r--r--src/tools/heat/HeatCore.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/tools/heat/HeatCore.cs b/src/tools/heat/HeatCore.cs
new file mode 100644
index 00000000..578c4aab
--- /dev/null
+++ b/src/tools/heat/HeatCore.cs
@@ -0,0 +1,45 @@
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
3namespace WixToolset.Harvesters
4{
5 using System;
6 using WixToolset.Extensibility.Services;
7 using WixToolset.Harvesters.Extensibility;
8
9 /// <summary>
10 /// The WiX Toolset Harvester application core.
11 /// </summary>
12 internal class HeatCore : IHeatCore
13 {
14 /// <summary>
15 /// Instantiates a new HeatCore.
16 /// </summary>
17 /// <param name="serviceProvider">The service provider.</param>
18 /// <param name="extensionArgument">The extension argument.</param>
19 public HeatCore(IServiceProvider serviceProvider, string extensionArgument)
20 {
21 this.Messaging = serviceProvider.GetService<IMessaging>();
22 var harvesterCore = new HarvesterCore
23 {
24 ExtensionArgument = extensionArgument,
25 Messaging = this.Messaging,
26 ParseHelper = serviceProvider.GetService<IParseHelper>(),
27 };
28
29 this.Harvester = new Harvester
30 {
31 Core = harvesterCore,
32 };
33 this.Mutator = new Mutator
34 {
35 Core = harvesterCore,
36 };
37 }
38
39 public IHarvester Harvester { get; }
40
41 public IMessaging Messaging { get; }
42
43 public IMutator Mutator { get; }
44 }
45}