From 5287c9ce70877b6b1e96d3253a395101fe30de8f Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 21 Dec 2017 13:37:19 -0800 Subject: Introduce IResolveExtension and IFileSystemExtension with cleanup --- .../BaseResolverExtension.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/WixToolset.Extensibility/BaseResolverExtension.cs (limited to 'src/WixToolset.Extensibility/BaseResolverExtension.cs') 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 @@ +// 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; + + /// + /// Base class for creating a resolver extension. + /// + public abstract class BaseResolverExtension : IResolverExtension + { + /// + /// Context for use by the extension. + /// + protected IResolveContext Context { get; private set; } + + /// + /// Called at the beginning of the resolving variables and files. + /// + public virtual void PreResolve(IResolveContext context) + { + this.Context = context; + } + + public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) + { + return null; + } + + /// + /// Called at the end of resolve. + /// + public virtual void PostResolve(ResolveResult result) + { + } + } +} -- cgit v1.2.3-55-g6feb