aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/IResolverExtension.cs
blob: f77581a03abc7f7e8c43e1a3aecb60c080d19d69 (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
// 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
{
    using WixToolset.Data;
    using WixToolset.Extensibility.Data;

    /// <summary>
    /// Interface all resolver extensions implement.
    /// </summary>
    public interface IResolverExtension
    {
        /// <summary>
        /// Called before resolving occurs.
        /// </summary>
        void PreResolve(IResolveContext context);

        /// <summary>
        /// Called to attempt to resolve source to a file.
        /// </summary>
        IResolveFileResult ResolveFile(string source, IntermediateSymbolDefinition symbolDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage);

        /// <summary>
        /// Called after all resolving occurs.
        /// </summary>
        void PostResolve(IResolveResult result);
    }
}