main
cs 30 lines 1.52 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.Services
4 {
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
7
8 /// <summary>
9 /// Interface provided to track files for use by layout later.
10 /// </summary>
11 public interface ILayoutServices
12 {
13 /// <summary>
14 /// Creates a file transfer and marks it redundant if the source and destination are identical.
15 /// </summary>
16 /// <param name="source">Source for the file transfer.</param>
17 /// <param name="destination">Destination for the file transfer.</param>
18 /// <param name="move">Indicates whether to move or copy the source file.</param>
19 /// <param name="sourceLineNumbers">Optional source line numbers that requested the file transfer.</param>
20 IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null);
21
22 /// <summary>
23 /// Creates a tracked file.
24 /// </summary>
25 /// <param name="path">Destination path for the build output.</param>
26 /// <param name="type">Type of tracked file to create.</param>
27 /// <param name="sourceLineNumbers">Optional source line numbers that requested the tracked file.</param>
28 ITrackedFile TrackFile(string path, TrackedFileType type, SourceLineNumber sourceLineNumbers = null);
29 }
30 }