Add IWindowsInstallerBackendBinder.FullyResolved plus documentation
Rob Mensching committed
Feb 13, 2021 at 07:20 UTC
36011e4e6c37139684dcfe982e7d4390c0a1d1d2
2 files changed
+39
-5
src/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
+7
@@ -52,6 +52,13 @@ namespace WixToolset.Extensibility
52
this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>();
53
}
54
55
+ /// <summary>
56
+ /// See <see cref="IWindowsInstallerBackendBinderExtension.FullyResolved(IntermediateSection)"/>
57
+ /// </summary>
58
+ public virtual void FullyResolved(IntermediateSection section)
59
+ {
60
+ }
61
+
62
/// <summary>
63
/// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
64
/// </summary>
src/WixToolset.Extensibility/IWindowsInstallerBackendBinderExtension.cs
+32
-5
@@ -13,26 +13,53 @@ namespace WixToolset.Extensibility
13
/// </summary>
14
public interface IWindowsInstallerBackendBinderExtension
15
{
16
-#pragma warning disable 1591 // TODO: add documentation
16
+ /// <summary>
17
+ /// Table definitions provided by the extension.
18
+ /// </summary>
19
IEnumerable<TableDefinition> TableDefinitions { get; }
18
-#pragma warning restore 1591
20
21
/// <summary>
22
/// Called before binding occurs.
23
/// </summary>
24
void PreBackendBind(IBindContext context);
25
25
-#pragma warning disable 1591 // TODO: add documentation
26
+ /// <summary>
27
+ ///
28
+ /// </summary>
29
+ /// <param name="section">The resolved intermedate section.</param>
30
+ void FullyResolved(IntermediateSection section);
31
+
32
+ /// <summary>
33
+ /// Finds an existing cabinet that contains the provided files.
34
+ /// </summary>
35
+ /// <param name="cabinetPath">Path to the cabinet.</param>
36
+ /// <param name="files">Files contained in the cabinet.</param>
37
+ /// <returns>Resolved cabinet options or null if the cabinet could not be found.</returns>
38
IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files);
39
28
- string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory);
40
+ /// <summary>
41
+ /// Override layout location for a media.
42
+ /// </summary>
43
+ /// <param name="mediaSymbol">Media symbol.</param>
44
+ /// <param name="mediaLayoutDirectory">Default media layout directory.</param>
45
+ /// <param name="layoutDirectory">Default layout directory.</param>
46
+ /// <returns>Layout location or null to use the default processing.</returns>
47
+ string ResolveMedia(MediaSymbol mediaSymbol, string mediaLayoutDirectory, string layoutDirectory);
48
49
+ /// <summary>
50
+ ///
51
+ /// </summary>
52
+ /// <param name="section"></param>
53
+ /// <param name="symbol"></param>
54
+ /// <param name="output">Windows Installer data </param>
55
+ /// <param name="tableDefinitions">Collection of table definitions available for the output.</param>
56
+ /// <returns>True if the symbol was added to the output, or false if not.</returns>
57
bool TryAddSymbolToOutput(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData output, TableDefinitionCollection tableDefinitions);
31
-#pragma warning restore 1591
58
59
/// <summary>
60
/// Called after all output changes occur and right before the output is bound into its final format.
61
/// </summary>
62
+ /// <param name="result">Bind result to process.</param>
63
void PostBackendBind(IBindResult result);
64
}
65
}