main
cs 115 lines 3.16 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 /// Bind context.
12 /// </summary>
13 public interface IBindContext
14 {
15 /// <summary>
16 /// Service provider.
17 /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 /// <summary>
21 /// Bind paths used during resolution.
22 /// </summary>
23 IReadOnlyCollection<IBindPath> BindPaths { get; set; }
24
25 /// <summary>
26 /// Counnt of threads to use in cabbing.
27 /// </summary>
28 int CabbingThreadCount { get; set; }
29
30 /// <summary>
31 /// Cabinet cache path.
32 /// </summary>
33 string CabCachePath { get; set; }
34
35 /// <summary>
36 /// Default compression level.
37 /// </summary>
38 CompressionLevel? DefaultCompressionLevel { get; set; }
39
40 /// <summary>
41 /// Delayed fields that need to be resolved again.
42 /// </summary>
43 IReadOnlyCollection<IDelayedField> DelayedFields { get; set; }
44
45 /// <summary>
46 /// Embedded files to extract.
47 /// </summary>
48 IReadOnlyCollection<IExpectedExtractFile> ExpectedEmbeddedFiles { get; set; }
49
50 /// <summary>
51 /// Binder extensions.
52 /// </summary>
53 IReadOnlyCollection<IBinderExtension> Extensions { get; set; }
54
55 /// <summary>
56 /// File system extensions.
57 /// </summary>
58 IReadOnlyCollection<IFileSystemExtension> FileSystemExtensions { get; set; }
59
60 /// <summary>
61 /// Intermedaite folder.
62 /// </summary>
63 string IntermediateFolder { get; set; }
64
65 /// <summary>
66 /// Intermediate representation to bind.
67 /// </summary>
68 Intermediate IntermediateRepresentation { get; set; }
69
70 /// <summary>
71 /// Output path to bind to.
72 /// </summary>
73 string OutputPath { get; set; }
74
75 /// <summary>
76 /// Output type to bind to.
77 /// </summary>
78 string OutputType { get; set; }
79
80 /// <summary>
81 /// Type of PDB to create.
82 /// </summary>
83 PdbType PdbType { get; set; }
84
85 /// <summary>
86 /// Output path for PDB.
87 /// </summary>
88 string PdbPath { get; set; }
89
90 /// <summary>
91 /// Codepage from resolve.
92 /// </summary>
93 int? ResolvedCodepage { get; set; }
94
95 /// <summary>
96 /// Summary information codepage from resolve.
97 /// </summary>
98 int? ResolvedSummaryInformationCodepage { get; set; }
99
100 /// <summary>
101 /// LCID from resolve.
102 /// </summary>
103 int? ResolvedLcid { get; set; }
104
105 /// <summary>
106 /// Skip creation of output.
107 /// </summary>
108 bool SuppressLayout { get; set; }
109
110 /// <summary>
111 /// Cancellation token.
112 /// </summary>
113 CancellationToken CancellationToken { get; set; }
114 }
115 }