// 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(IDecompileResult result); } }