@joebigelow / wix-1 / commits / 36011e4e

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 }