aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2018-10-24 20:56:32 -0700
committerRob Mensching <rob@robmensching.com>2018-10-24 21:11:31 -0700
commit41e60175f6db63cb988a9340c950c224dc472814 (patch)
treede1740c00840c47596b4c9802c08409a0bfe80df /src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs
parentce51350ca9c020312810447f64a3f40145f749bd (diff)
downloadwix-41e60175f6db63cb988a9340c950c224dc472814.tar.gz
wix-41e60175f6db63cb988a9340c950c224dc472814.tar.bz2
wix-41e60175f6db63cb988a9340c950c224dc472814.zip
Re-introduce "decompile" to backend
Diffstat (limited to 'src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs')
-rw-r--r--src/WixToolset.Extensibility/IWindowsInstallerBackendDecompilerExtension.cs43
1 files changed, 43 insertions, 0 deletions
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 @@
1// 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.
2
3namespace WixToolset.Extensibility
4{
5 using WixToolset.Data;
6 using WixToolset.Data.WindowsInstaller;
7 using WixToolset.Extensibility.Data;
8
9 /// <summary>
10 /// Interface all binder extensions implement.
11 /// </summary>
12 public interface IWindowsInstallerBackendDecompilerExtension
13 {
14 /// <summary>
15 /// Called before decompiling occurs.
16 /// </summary>
17 void PreBackendDecompile(IDecompileContext context);
18
19 /// <summary>
20 /// Gets the table definitions this extension decompiles.
21 /// </summary>
22 /// <value>Table definitions this extension decompiles.</value>
23 TableDefinitionCollection TableDefinitions { get; }
24
25 /// <summary>
26 /// Gets the library that this decompiler wants removed from the decomipiled output.
27 /// </summary>
28 /// <param name="tableDefinitions">The table definitions to use while loading the library.</param>
29 /// <returns>The library for this extension or null if there is no library to be removed.</returns>
30 Library GetLibraryToRemove(TableDefinitionCollection tableDefinitions);
31
32 /// <summary>
33 /// Decompiles an extension table.
34 /// </summary>
35 /// <param name="table">The table to decompile.</param>
36 void DecompileTable(Table table);
37
38 /// <summary>
39 /// Called after all output changes occur and right before the output is bound into its final format.
40 /// </summary>
41 void PostBackendDecompile(DecompileResult result);
42 }
43}