main
cs 70 lines 2.11 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 library creation operations.
12 /// </summary>
13 public interface ILibraryContext
14 {
15 /// <summary>
16 /// Service provider.
17 /// </summary>
18 IServiceProvider ServiceProvider { get; }
19
20 /// <summary>
21 /// Indicates whether files should be bound into the library.
22 /// </summary>
23 bool BindFiles { get; set; }
24
25 /// <summary>
26 /// Collection of bindpaths used to bind files.
27 /// </summary>
28 IReadOnlyCollection<IBindPath> BindPaths { get; set; }
29
30 /// <summary>
31 /// Bind variables used when binding files.
32 /// </summary>
33 IDictionary<string, string> BindVariables { get; set; }
34
35 /// <summary>
36 /// Collection of extensions used during creation of library.
37 /// </summary>
38 IReadOnlyCollection<ILibrarianExtension> Extensions { get; set; }
39
40 /// <summary>
41 /// Identifier of the library.
42 /// </summary>
43 string LibraryId { get; set; }
44
45 /// <summary>
46 /// Collection of localization files to use in the library.
47 /// </summary>
48 IReadOnlyCollection<Localization> Localizations { get; set; }
49
50 /// <summary>
51 /// Intermediate folder.
52 /// </summary>
53 string IntermediateFolder { get; set; }
54
55 /// <summary>
56 /// Collection of intermediates to include in the library.
57 /// </summary>
58 IReadOnlyCollection<Intermediate> Intermediates { get; set; }
59
60 /// <summary>
61 /// Output path.
62 /// </summary>
63 string OutputPath { get; set; }
64
65 /// <summary>
66 /// Cancellation token.
67 /// </summary>
68 CancellationToken CancellationToken { get; set; }
69 }
70 }