aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/BaseResolverExtension.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-12-21 13:37:19 -0800
committerRob Mensching <rob@firegiant.com>2017-12-21 13:42:38 -0800
commit5287c9ce70877b6b1e96d3253a395101fe30de8f (patch)
treeafd373b856aa2a2320d13666e20548378c84b3e3 /src/WixToolset.Extensibility/BaseResolverExtension.cs
parent21be85310baadfb1a479ca5b8c4d8f27018ff8f8 (diff)
downloadwix-5287c9ce70877b6b1e96d3253a395101fe30de8f.tar.gz
wix-5287c9ce70877b6b1e96d3253a395101fe30de8f.tar.bz2
wix-5287c9ce70877b6b1e96d3253a395101fe30de8f.zip
Introduce IResolveExtension and IFileSystemExtension with cleanup
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}