main
cs 34 lines 1.36 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
4 {
5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
7
8 /// <summary>
9 /// Interface all librarian extensions implement.
10 /// </summary>
11 public interface ILibrarianExtension
12 {
13 /// <summary>
14 /// Called at the beginning of combining.
15 /// </summary>
16 /// <param name="context">Librarian context.</param>
17 void PreCombine(ILibraryContext context);
18
19 /// <summary>
20 /// Resolves a path to a file path on disk.
21 /// </summary>
22 /// <param name="sourceLineNumber">Source line number for the path to resolve.</param>
23 /// <param name="symbolDefinition">Symbol related to the path to resolve.</param>
24 /// <param name="path">Path to resolve.</param>
25 /// <returns>Optional resolved file result.</returns>
26 IResolveFileResult ResolveFile(SourceLineNumber sourceLineNumber, IntermediateSymbolDefinition symbolDefinition, string path);
27
28 /// <summary>
29 /// Called at the end of combining.
30 /// </summary>
31 /// <param name="result">Combined library result.</param>
32 void PostCombine(ILibraryResult result);
33 }
34 }