main
cs 61 lines 2.04 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 to the optimizer.
12 /// </summary>
13 public interface IOptimizeContext
14 {
15 /// <summary>
16 /// Service provider made available to the optimizer and its extensions.
17 /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 /// <summary>
21 /// Set of extensions provided to the optimizer.
22 /// </summary>
23 IReadOnlyCollection<IOptimizerExtension> Extensions { get; set; }
24
25 /// <summary>
26 /// Intermediate folder.
27 /// </summary>
28 string IntermediateFolder { get; set; }
29
30 /// <summary>
31 /// Collection of bindpaths used to bind files.
32 /// </summary>
33 IReadOnlyCollection<IBindPath> BindPaths { get; set; }
34
35 /// <summary>
36 /// Bind variables used during optimization.
37 /// </summary>
38 IDictionary<string, string> BindVariables { get; set; }
39
40 /// <summary>
41 /// Gets or sets the platform which the optimizer will use when defaulting 64-bit symbol properties.
42 /// </summary>
43 /// <value>The platform which the optimizer will use when defaulting 64-bit symbol properties.</value>
44 Platform Platform { get; set; }
45
46 /// <summary>
47 /// Collection of intermediates to optimize.
48 /// </summary>
49 IReadOnlyCollection<Intermediate> Intermediates { get; set; }
50
51 /// <summary>
52 /// Collection of localization files to use in the optimizer.
53 /// </summary>
54 IReadOnlyCollection<Localization> Localizations { get; set; }
55
56 /// <summary>
57 /// Cancellation token.
58 /// </summary>
59 CancellationToken CancellationToken { get; set; }
60 }
61 }