main
cs 50 lines 2.44 KB
Raw
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
3 namespace WixToolset.Extensibility.Services
4 {
5 using WixToolset.Data;
6
7 /// <summary>
8 /// Interface provided to help Burn backend extensions.
9 /// </summary>
10 public interface IBurnBackendHelper : IBackendHelper, IBundleValidator
11 {
12 /// <summary>
13 /// Adds the given XML to the BootstrapperApplicationData manifest.
14 /// </summary>
15 /// <param name="xml">A valid XML fragment.</param>
16 void AddBootstrapperApplicationData(string xml);
17
18 /// <summary>
19 /// Adds an XML element for the given symbol to the BootstrapperApplicationData manifest.
20 /// The symbol's name is used for the element's name.
21 /// All of the symbol's fields are used for the element's attributes.
22 /// </summary>
23 /// <param name="symbol">The symbol to create the element from.</param>
24 /// <param name="symbolIdIsIdAttribute">
25 /// If true and the symbol has an Id,
26 /// then an Id attribute is created with a value of the symbol's Id.
27 /// </param>
28 void AddBootstrapperApplicationData(IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false);
29
30 /// <summary>
31 /// Adds the given XML to the BootstrapperExtensionData manifest for the given bundle extension.
32 /// </summary>
33 /// <param name="extensionId">The bundle extension's id.</param>
34 /// <param name="xml">A valid XML fragment.</param>
35 void AddBootstrapperExtensionData(string extensionId, string xml);
36
37 /// <summary>
38 /// Adds an XML element for the given symbol to the BootstrapperExtensionData manifest for the given bundle extension.
39 /// The symbol's name is used for the element's name.
40 /// All of the symbol's fields are used for the element's attributes.
41 /// </summary>
42 /// <param name="extensionId">The bundle extension's id.</param>
43 /// <param name="symbol">The symbol to create the element from.</param>
44 /// <param name="symbolIdIsIdAttribute">
45 /// If true and the symbol has an Id,
46 /// then an Id attribute is created with a value of the symbol's Id.
47 /// </param>
48 void AddBootstrapperExtensionData(string extensionId, IntermediateSymbol symbol, bool symbolIdIsIdAttribute = false);
49 }
50 }