aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/BinderExtensionBase.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-10-18 15:21:45 -0700
committerRob Mensching <rob@firegiant.com>2017-10-18 15:21:45 -0700
commit7efd412cda00b369bc331c9bedd8db971d98fee7 (patch)
tree20403b9a5372db2407200cefab1eed0bdcc19879 /src/WixToolset.Extensibility/BinderExtensionBase.cs
parent475dd063933b8a23d8e47021e9b105a20699bbac (diff)
downloadwix-7efd412cda00b369bc331c9bedd8db971d98fee7.tar.gz
wix-7efd412cda00b369bc331c9bedd8db971d98fee7.tar.bz2
wix-7efd412cda00b369bc331c9bedd8db971d98fee7.zip
Incorporate refactoring of WixToolset.Core assemblies
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}