From 7a846e7869b2705fa0a184224ef53e2d89f2e8dd Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 14 Jun 2020 11:22:58 +1000 Subject: Add IBurnBackendHelper and TryAddTupleToDataManifest. --- .../BaseBurnBackendExtension.cs | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/WixToolset.Extensibility/BaseBurnBackendExtension.cs') diff --git a/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs b/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs index 58f96b31..5dc36715 100644 --- a/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs +++ b/src/WixToolset.Extensibility/BaseBurnBackendExtension.cs @@ -6,7 +6,7 @@ namespace WixToolset.Extensibility using WixToolset.Extensibility.Data; using WixToolset.Extensibility.Services; - public class BaseBurnBackendExtension : IBurnBackendExtension + public abstract class BaseBurnBackendExtension : IBurnBackendExtension { /// /// Context for use by the extension. @@ -18,10 +18,20 @@ namespace WixToolset.Extensibility /// protected IMessaging Messaging { get; private set; } + /// + /// Backend helper for use by the extension. + /// + protected IBurnBackendHelper BackendHelper { get; private set; } + public virtual void BundleFinalize() { } + public virtual bool IsTupleForExtension(IntermediateTuple tuple) + { + return false; + } + public virtual void PostBackendBind(IBindResult result) { } @@ -30,6 +40,7 @@ namespace WixToolset.Extensibility { this.Context = context; this.Messaging = context.ServiceProvider.GetService(); + this.BackendHelper = context.ServiceProvider.GetService(); } public virtual IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage) @@ -41,5 +52,16 @@ namespace WixToolset.Extensibility { return null; } + + public virtual bool TryAddTupleToDataManifest(IntermediateSection section, IntermediateTuple tuple) + { + if (this.IsTupleForExtension(tuple) && tuple.HasTag(WixToolset.Data.Burn.BurnConstants.BootstrapperApplicationDataTupleDefinitionTag)) + { + this.BackendHelper.AddBootstrapperApplicationData(tuple); + return true; + } + + return false; + } } } -- cgit v1.2.3-55-g6feb