blob: 756d0a9760d2a2f7a87fc2068685a21d1d84167b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// 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.
namespace WixToolset.Extensibility.Services
{
using System;
using WixToolset.Data;
using WixToolset.Extensibility.Data;
/// <summary>
/// Interface provided to help backend extensions.
/// </summary>
public interface IBackendHelper
{
/// <summary>
/// Creates a file transfer and marks it redundant if the source and destination are identical.
/// </summary>
/// <param name="source">Source for the file transfer.</param>
/// <param name="destination">Destiation for the file transfer.</param>
/// <param name="move">Indicates whether to move or copy the source file.</param>
IFileTransfer CreateFileTransfer(string source, string destination, bool move, SourceLineNumber sourceLineNumbers = null);
/// <summary>
/// Creates a version 3 name-based UUID.
/// </summary>
/// <param name="namespaceGuid">The namespace UUID.</param>
/// <param name="value">The value.</param>
/// <returns>The generated GUID for the given namespace and value.</returns>
string CreateGuid(Guid namespaceGuid, string value);
/// <summary>
/// Creates a resolved directory.
/// </summary>
/// <param name="directoryParent">Directory parent identifier.</param>
/// <param name="name">Name of directory.</param>
/// <returns>Resolved directory.</returns>
IResolvedDirectory CreateResolvedDirectory(string directoryParent, string name);
/// <summary>
/// Creates a tracked file.
/// </summary>
/// <param name="path">Destination path for the build output.</param>
/// <param name="type">Type of tracked file to create.</param>
/// <param name="sourceLineNumbers">Optional source line numbers that requested the tracked file.</param>
ITrackedFile TrackFile(string path, TrackedFileType type, SourceLineNumber sourceLineNumbers = null);
}
}
|