aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/BaseResolverExtension.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Extensibility/BaseResolverExtension.cs')
-rw-r--r--src/WixToolset.Extensibility/BaseResolverExtension.cs38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/WixToolset.Extensibility/BaseResolverExtension.cs b/src/WixToolset.Extensibility/BaseResolverExtension.cs
new file mode 100644
index 00000000..9498d126
--- /dev/null
+++ b/src/WixToolset.Extensibility/BaseResolverExtension.cs
@@ -0,0 +1,38 @@
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
3namespace WixToolset.Extensibility
4{
5 using WixToolset.Data;
6 using WixToolset.Data.Bind;
7
8 /// <summary>
9 /// Base class for creating a resolver extension.
10 /// </summary>
11 public abstract class BaseResolverExtension : IResolverExtension
12 {
13 /// <summary>
14 /// Context for use by the extension.
15 /// </summary>
16 protected IResolveContext Context { get; private set; }
17
18 /// <summary>
19 /// Called at the beginning of the resolving variables and files.
20 /// </summary>
21 public virtual void PreResolve(IResolveContext context)
22 {
23 this.Context = context;
24 }
25
26 public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
27 {
28 return null;
29 }
30
31 /// <summary>
32 /// Called at the end of resolve.
33 /// </summary>
34 public virtual void PostResolve(ResolveResult result)
35 {
36 }
37 }
38}