main
cs 70 lines 2.05 KB
Raw
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
3 namespace WixToolset.Extensibility.Data
4 {
5 using System;
6 using System.Collections.Generic;
7 using System.Threading;
8 using WixToolset.Data;
9
10 /// <summary>
11 /// Context provided during linking.
12 /// </summary>
13 public interface ILinkContext
14 {
15 /// <summary>
16 /// Service provider.
17 /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 /// <summary>
21 /// Collection of extensions to use during linking.
22 /// </summary>
23 IReadOnlyCollection<ILinkerExtension> Extensions { get; set; }
24
25 /// <summary>
26 /// Collection of extension data to use during linking.
27 /// </summary>
28 IReadOnlyCollection<IExtensionData> ExtensionData { get; set; }
29
30 /// <summary>
31 /// Expected output type.
32 /// </summary>
33 OutputType ExpectedOutputType { get; set; }
34
35 /// <summary>
36 /// Intermediate folder.
37 /// </summary>
38 string IntermediateFolder { get; set; }
39
40 /// <summary>
41 /// Collection of intermediates to link.
42 /// </summary>
43 IReadOnlyCollection<Intermediate> Intermediates { get; set; }
44
45 /// <summary>
46 /// Output path.
47 /// </summary>
48 string OutputPath { get; set; }
49
50 /// <summary>
51 /// Gets or sets the platform for the output.
52 /// </summary>
53 Platform Platform { get; set; }
54
55 /// <summary>
56 /// Gets or sets whether to skip the standard wixlib.
57 /// </summary>
58 bool SkipStdWixlib { get; set; }
59
60 /// <summary>
61 /// Symbol definition creator used to load extension data.
62 /// </summary>
63 ISymbolDefinitionCreator SymbolDefinitionCreator { get; set; }
64
65 /// <summary>
66 /// Cancellation token.
67 /// </summary>
68 CancellationToken CancellationToken { get; set; }
69 }
70 }