aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-03-27 13:54:56 +1000
committerSean Hall <r.sean.hall@gmail.com>2020-03-30 21:30:04 +1000
commit0baf6e26ec7ab2ff0b6ad36e9d44f3d68819b5d6 (patch)
tree1ef577d0246b662f4a8bda0ed935e987f03562a0 /src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs
parentafbc6889c73d58136cb8851858ca3c17f41dc2c5 (diff)
downloadwix-0baf6e26ec7ab2ff0b6ad36e9d44f3d68819b5d6.tar.gz
wix-0baf6e26ec7ab2ff0b6ad36e9d44f3d68819b5d6.tar.bz2
wix-0baf6e26ec7ab2ff0b6ad36e9d44f3d68819b5d6.zip
Add ability for extensions to create custom bundle searches.
This required creating BundleExtensionData.xml.
Diffstat (limited to 'src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs')
-rw-r--r--src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs b/src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs
index 6d2ea943..63d7bb31 100644
--- a/src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs
+++ b/src/WixToolset.Core.TestPackage/ExtractBAContainerResult.cs
@@ -8,6 +8,10 @@ namespace WixToolset.Core.TestPackage
8 8
9 public class ExtractBAContainerResult 9 public class ExtractBAContainerResult
10 { 10 {
11 public XmlDocument BundleExtensionDataDocument { get; set; }
12 public XmlNamespaceManager BundleExtensionDataNamespaceManager { get; set; }
13 public XmlDocument BADataDocument { get; set; }
14 public XmlNamespaceManager BADataNamespaceManager { get; set; }
11 public XmlDocument ManifestDocument { get; set; } 15 public XmlDocument ManifestDocument { get; set; }
12 public XmlNamespaceManager ManifestNamespaceManager { get; set; } 16 public XmlNamespaceManager ManifestNamespaceManager { get; set; }
13 public bool Success { get; set; } 17 public bool Success { get; set; }
@@ -26,6 +30,34 @@ namespace WixToolset.Core.TestPackage
26 return Path.Combine(extractedBAContainerFolderPath, relativeBAPath); 30 return Path.Combine(extractedBAContainerFolderPath, relativeBAPath);
27 } 31 }
28 32
33 public string GetBundleExtensionFilePath(string extractedBAContainerFolderPath, string extensionId)
34 {
35 var uxPayloads = this.SelectManifestNodes($"/burn:BurnManifest/burn:UX/burn:Payload[@Id='{extensionId}']");
36 var bextPayload = uxPayloads[0];
37 var relativeBextPath = bextPayload.Attributes["FilePath"].Value;
38 return Path.Combine(extractedBAContainerFolderPath, relativeBextPath);
39 }
40
41 /// <summary>
42 ///
43 /// </summary>
44 /// <param name="xpath">elements must have the 'ba' prefix</param>
45 /// <returns></returns>
46 public XmlNodeList SelectBADataNodes(string xpath)
47 {
48 return this.BADataDocument.SelectNodes(xpath, this.BADataNamespaceManager);
49 }
50
51 /// <summary>
52 ///
53 /// </summary>
54 /// <param name="xpath">elements must have the 'be' prefix</param>
55 /// <returns></returns>
56 public XmlNodeList SelectBundleExtensionDataNodes(string xpath)
57 {
58 return this.BundleExtensionDataDocument.SelectNodes(xpath, this.BundleExtensionDataNamespaceManager);
59 }
60
29 /// <summary> 61 /// <summary>
30 /// 62 ///
31 /// </summary> 63 /// </summary>