// 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.Data.Bind;
using WixToolset.Extensibility.Services;
public abstract class BinderExtensionBase : IBinderExtension
{
protected IBindContext Context { get; private set; }
///
/// Called before binding occurs.
///
public virtual void PreBind(IBindContext context)
{
this.Context = context;
}
///
/// Called after variable resolution occurs.
///
public virtual void AfterResolvedFields(Output output)
{
}
public virtual string ResolveFile(string source, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage)
{
return null;
}
public virtual bool? CompareFiles(string targetFile, string updatedFile)
{
return null;
}
public virtual bool CopyFile(string source, string destination, bool overwrite)
{
return false;
}
public virtual bool MoveFile(string source, string destination, bool overwrite)
{
return false;
}
///
/// Called after binding is complete before the files are moved to their final locations.
///
public virtual void PostBind(BindResult result)
{
}
}
}