main
cs 59 lines 1.71 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
9 /// <summary>
10 /// Context for laying out files.
11 /// </summary>
12 public interface ILayoutContext
13 {
14 /// <summary>
15 /// Service provider.
16 /// </summary>
17 IServiceProvider ServiceProvider { get; }
18
19 /// <summary>
20 /// Extensions for use during layout.
21 /// </summary>
22 IReadOnlyCollection<ILayoutExtension> Extensions { get; set; }
23
24 /// <summary>
25 /// Set of tracked of files created during processing to be cleaned up.
26 /// </summary>
27 IReadOnlyCollection<ITrackedFile> TrackedFiles { get; set; }
28
29 /// <summary>
30 /// Set of files to transfer.
31 /// </summary>
32 IReadOnlyCollection<IFileTransfer> FileTransfers { get; set; }
33
34 /// <summary>
35 /// Intermediate folder.
36 /// </summary>
37 string IntermediateFolder { get; set; }
38
39 /// <summary>
40 /// Output path.
41 /// </summary>
42 string OutputPath { get; set; }
43
44 /// <summary>
45 /// File to capture list of content, built output and copied output files.
46 /// </summary>
47 string TrackingFile { get; set; }
48
49 /// <summary>
50 /// Reset ACLs on file transfers.
51 /// </summary>
52 bool ResetAcls { get; set; }
53
54 /// <summary>
55 /// Cancellation token.
56 /// </summary>
57 CancellationToken CancellationToken { get; set; }
58 }
59 }