From 41e60175f6db63cb988a9340c950c224dc472814 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 24 Oct 2018 20:56:32 -0700 Subject: Re-introduce "decompile" to backend --- .../IWindowsInstallerBackendDecompilerExtension.cs | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs (limited to 'src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs') diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs new file mode 100644 index 00000000..05899c1f --- /dev/null +++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs @@ -0,0 +1,43 @@ +// 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.WindowsInstaller; + using WixToolset.Extensibility.Data; + + /// + /// Interface all binder extensions implement. + /// + public interface IWindowsInstallerBackendDecompilerExtension + { + /// + /// Called before decompiling occurs. + /// + void PreBackendDecompile(IDecompileContext context); + + /// + /// Gets the table definitions this extension decompiles. + /// + /// Table definitions this extension decompiles. + TableDefinitionCollection TableDefinitions { get; } + + /// + /// Gets the library that this decompiler wants removed from the decomipiled output. + /// + /// The table definitions to use while loading the library. + /// The library for this extension or null if there is no library to be removed. + Library GetLibraryToRemove(TableDefinitionCollection tableDefinitions); + + /// + /// Decompiles an extension table. + /// + /// The table to decompile. + void DecompileTable(Table table); + + /// + /// Called after all output changes occur and right before the output is bound into its final format. + /// + void PostBackendDecompile(DecompileResult result); + } +} -- cgit v1.2.3-55-g6feb