aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/BinderExtensionBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Extensibility/BinderExtensionBase.cs')
-rw-r--r--src/WixToolset.Extensibility/BinderExtensionBase.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/WixToolset.Extensibility/BinderExtensionBase.cs b/src/WixToolset.Extensibility/BinderExtensionBase.cs
new file mode 100644
index 00000000..a0b34a31
--- /dev/null
+++ b/src/WixToolset.Extensibility/BinderExtensionBase.cs
@@ -0,0 +1,55 @@
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 using WixToolset.Extensibility.Services;
8
9 public abstract class BinderExtensionBase : IBinderExtension
10 {
11 protected IBindContext Context { get; private set; }
12
13 /// <summary>
14 /// Called before binding occurs.
15 /// </summary>
16 public virtual void PreBind(IBindContext context)
17 {
18 this.Context = context;
19 }
20
21 /// <summary>
22 /// Called after variable resolution occurs.
23 /// </summary>
24 public virtual void AfterResolvedFields(Output output)
25 {
26 }
27
28 public virtual string ResolveFile(string source, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage)
29 {
30 return null;
31 }
32
33 public virtual bool? CompareFiles(string targetFile, string updatedFile)
34 {
35 return null;
36 }
37
38 public virtual bool CopyFile(string source, string destination, bool overwrite)
39 {
40 return false;
41 }
42
43 public virtual bool MoveFile(string source, string destination, bool overwrite)
44 {
45 return false;
46 }
47
48 /// <summary>
49 /// Called after binding is complete before the files are moved to their final locations.
50 /// </summary>
51 public virtual void PostBind(BindResult result)
52 {
53 }
54 }
55}