aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs')
-rw-r--r--src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs84
1 files changed, 42 insertions, 42 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs b/src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs
index 0a80760d..24d6f542 100644
--- a/src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs
+++ b/src/WixToolset.Core.Burn/Bind/LegacySearchFacade.cs
@@ -5,17 +5,17 @@ namespace WixToolset.Core.Burn
5 using System; 5 using System;
6 using System.Xml; 6 using System.Xml;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Data.Tuples; 8 using WixToolset.Data.Symbols;
9 9
10 internal class LegacySearchFacade : BaseSearchFacade 10 internal class LegacySearchFacade : BaseSearchFacade
11 { 11 {
12 public LegacySearchFacade(WixSearchTuple searchTuple, IntermediateTuple searchSpecificTuple) 12 public LegacySearchFacade(WixSearchSymbol searchSymbol, IntermediateSymbol searchSpecificSymbol)
13 { 13 {
14 this.SearchTuple = searchTuple; 14 this.SearchSymbol = searchSymbol;
15 this.SearchSpecificTuple = searchSpecificTuple; 15 this.SearchSpecificSymbol = searchSpecificSymbol;
16 } 16 }
17 17
18 public IntermediateTuple SearchSpecificTuple { get; } 18 public IntermediateSymbol SearchSpecificSymbol { get; }
19 19
20 /// <summary> 20 /// <summary>
21 /// Generates Burn manifest and ParameterInfo-style markup a search. 21 /// Generates Burn manifest and ParameterInfo-style markup a search.
@@ -23,45 +23,45 @@ namespace WixToolset.Core.Burn
23 /// <param name="writer"></param> 23 /// <param name="writer"></param>
24 public override void WriteXml(XmlTextWriter writer) 24 public override void WriteXml(XmlTextWriter writer)
25 { 25 {
26 switch (this.SearchSpecificTuple) 26 switch (this.SearchSpecificSymbol)
27 { 27 {
28 case WixComponentSearchTuple tuple: 28 case WixComponentSearchSymbol symbol:
29 this.WriteComponentSearchXml(writer, tuple); 29 this.WriteComponentSearchXml(writer, symbol);
30 break; 30 break;
31 case WixFileSearchTuple tuple: 31 case WixFileSearchSymbol symbol:
32 this.WriteFileSearchXml(writer, tuple); 32 this.WriteFileSearchXml(writer, symbol);
33 break; 33 break;
34 case WixProductSearchTuple tuple: 34 case WixProductSearchSymbol symbol:
35 this.WriteProductSearchXml(writer, tuple); 35 this.WriteProductSearchXml(writer, symbol);
36 break; 36 break;
37 case WixRegistrySearchTuple tuple: 37 case WixRegistrySearchSymbol symbol:
38 this.WriteRegistrySearchXml(writer, tuple); 38 this.WriteRegistrySearchXml(writer, symbol);
39 break; 39 break;
40 } 40 }
41 } 41 }
42 42
43 private void WriteComponentSearchXml(XmlTextWriter writer, WixComponentSearchTuple searchTuple) 43 private void WriteComponentSearchXml(XmlTextWriter writer, WixComponentSearchSymbol searchSymbol)
44 { 44 {
45 writer.WriteStartElement("MsiComponentSearch"); 45 writer.WriteStartElement("MsiComponentSearch");
46 46
47 base.WriteXml(writer); 47 base.WriteXml(writer);
48 48
49 writer.WriteAttributeString("ComponentId", searchTuple.Guid); 49 writer.WriteAttributeString("ComponentId", searchSymbol.Guid);
50 50
51 if (!String.IsNullOrEmpty(searchTuple.ProductCode)) 51 if (!String.IsNullOrEmpty(searchSymbol.ProductCode))
52 { 52 {
53 writer.WriteAttributeString("ProductCode", searchTuple.ProductCode); 53 writer.WriteAttributeString("ProductCode", searchSymbol.ProductCode);
54 } 54 }
55 55
56 if (0 != (searchTuple.Attributes & WixComponentSearchAttributes.KeyPath)) 56 if (0 != (searchSymbol.Attributes & WixComponentSearchAttributes.KeyPath))
57 { 57 {
58 writer.WriteAttributeString("Type", "keyPath"); 58 writer.WriteAttributeString("Type", "keyPath");
59 } 59 }
60 else if (0 != (searchTuple.Attributes & WixComponentSearchAttributes.State)) 60 else if (0 != (searchSymbol.Attributes & WixComponentSearchAttributes.State))
61 { 61 {
62 writer.WriteAttributeString("Type", "state"); 62 writer.WriteAttributeString("Type", "state");
63 } 63 }
64 else if (0 != (searchTuple.Attributes & WixComponentSearchAttributes.WantDirectory)) 64 else if (0 != (searchSymbol.Attributes & WixComponentSearchAttributes.WantDirectory))
65 { 65 {
66 writer.WriteAttributeString("Type", "directory"); 66 writer.WriteAttributeString("Type", "directory");
67 } 67 }
@@ -69,18 +69,18 @@ namespace WixToolset.Core.Burn
69 writer.WriteEndElement(); 69 writer.WriteEndElement();
70 } 70 }
71 71
72 private void WriteFileSearchXml(XmlTextWriter writer, WixFileSearchTuple searchTuple) 72 private void WriteFileSearchXml(XmlTextWriter writer, WixFileSearchSymbol searchSymbol)
73 { 73 {
74 writer.WriteStartElement((0 == (searchTuple.Attributes & WixFileSearchAttributes.IsDirectory)) ? "FileSearch" : "DirectorySearch"); 74 writer.WriteStartElement((0 == (searchSymbol.Attributes & WixFileSearchAttributes.IsDirectory)) ? "FileSearch" : "DirectorySearch");
75 75
76 base.WriteXml(writer); 76 base.WriteXml(writer);
77 77
78 writer.WriteAttributeString("Path", searchTuple.Path); 78 writer.WriteAttributeString("Path", searchSymbol.Path);
79 if (WixFileSearchAttributes.WantExists == (searchTuple.Attributes & WixFileSearchAttributes.WantExists)) 79 if (WixFileSearchAttributes.WantExists == (searchSymbol.Attributes & WixFileSearchAttributes.WantExists))
80 { 80 {
81 writer.WriteAttributeString("Type", "exists"); 81 writer.WriteAttributeString("Type", "exists");
82 } 82 }
83 else if (WixFileSearchAttributes.WantVersion == (searchTuple.Attributes & WixFileSearchAttributes.WantVersion)) 83 else if (WixFileSearchAttributes.WantVersion == (searchSymbol.Attributes & WixFileSearchAttributes.WantVersion))
84 { 84 {
85 // Can never get here for DirectorySearch. 85 // Can never get here for DirectorySearch.
86 writer.WriteAttributeString("Type", "version"); 86 writer.WriteAttributeString("Type", "version");
@@ -92,34 +92,34 @@ namespace WixToolset.Core.Burn
92 writer.WriteEndElement(); 92 writer.WriteEndElement();
93 } 93 }
94 94
95 private void WriteProductSearchXml(XmlTextWriter writer, WixProductSearchTuple tuple) 95 private void WriteProductSearchXml(XmlTextWriter writer, WixProductSearchSymbol symbol)
96 { 96 {
97 writer.WriteStartElement("MsiProductSearch"); 97 writer.WriteStartElement("MsiProductSearch");
98 98
99 base.WriteXml(writer); 99 base.WriteXml(writer);
100 100
101 if (0 != (tuple.Attributes & WixProductSearchAttributes.UpgradeCode)) 101 if (0 != (symbol.Attributes & WixProductSearchAttributes.UpgradeCode))
102 { 102 {
103 writer.WriteAttributeString("UpgradeCode", tuple.Guid); 103 writer.WriteAttributeString("UpgradeCode", symbol.Guid);
104 } 104 }
105 else 105 else
106 { 106 {
107 writer.WriteAttributeString("ProductCode", tuple.Guid); 107 writer.WriteAttributeString("ProductCode", symbol.Guid);
108 } 108 }
109 109
110 if (0 != (tuple.Attributes & WixProductSearchAttributes.Version)) 110 if (0 != (symbol.Attributes & WixProductSearchAttributes.Version))
111 { 111 {
112 writer.WriteAttributeString("Type", "version"); 112 writer.WriteAttributeString("Type", "version");
113 } 113 }
114 else if (0 != (tuple.Attributes & WixProductSearchAttributes.Language)) 114 else if (0 != (symbol.Attributes & WixProductSearchAttributes.Language))
115 { 115 {
116 writer.WriteAttributeString("Type", "language"); 116 writer.WriteAttributeString("Type", "language");
117 } 117 }
118 else if (0 != (tuple.Attributes & WixProductSearchAttributes.State)) 118 else if (0 != (symbol.Attributes & WixProductSearchAttributes.State))
119 { 119 {
120 writer.WriteAttributeString("Type", "state"); 120 writer.WriteAttributeString("Type", "state");
121 } 121 }
122 else if (0 != (tuple.Attributes & WixProductSearchAttributes.Assignment)) 122 else if (0 != (symbol.Attributes & WixProductSearchAttributes.Assignment))
123 { 123 {
124 writer.WriteAttributeString("Type", "assignment"); 124 writer.WriteAttributeString("Type", "assignment");
125 } 125 }
@@ -127,13 +127,13 @@ namespace WixToolset.Core.Burn
127 writer.WriteEndElement(); 127 writer.WriteEndElement();
128 } 128 }
129 129
130 private void WriteRegistrySearchXml(XmlTextWriter writer, WixRegistrySearchTuple tuple) 130 private void WriteRegistrySearchXml(XmlTextWriter writer, WixRegistrySearchSymbol symbol)
131 { 131 {
132 writer.WriteStartElement("RegistrySearch"); 132 writer.WriteStartElement("RegistrySearch");
133 133
134 base.WriteXml(writer); 134 base.WriteXml(writer);
135 135
136 switch (tuple.Root) 136 switch (symbol.Root)
137 { 137 {
138 case RegistryRootType.ClassesRoot: 138 case RegistryRootType.ClassesRoot:
139 writer.WriteAttributeString("Root", "HKCR"); 139 writer.WriteAttributeString("Root", "HKCR");
@@ -149,25 +149,25 @@ namespace WixToolset.Core.Burn
149 break; 149 break;
150 } 150 }
151 151
152 writer.WriteAttributeString("Key", tuple.Key); 152 writer.WriteAttributeString("Key", symbol.Key);
153 153
154 if (!String.IsNullOrEmpty(tuple.Value)) 154 if (!String.IsNullOrEmpty(symbol.Value))
155 { 155 {
156 writer.WriteAttributeString("Value", tuple.Value); 156 writer.WriteAttributeString("Value", symbol.Value);
157 } 157 }
158 158
159 var existenceOnly = 0 != (tuple.Attributes & WixRegistrySearchAttributes.WantExists); 159 var existenceOnly = 0 != (symbol.Attributes & WixRegistrySearchAttributes.WantExists);
160 160
161 writer.WriteAttributeString("Type", existenceOnly ? "exists" : "value"); 161 writer.WriteAttributeString("Type", existenceOnly ? "exists" : "value");
162 162
163 if (0 != (tuple.Attributes & WixRegistrySearchAttributes.Win64)) 163 if (0 != (symbol.Attributes & WixRegistrySearchAttributes.Win64))
164 { 164 {
165 writer.WriteAttributeString("Win64", "yes"); 165 writer.WriteAttributeString("Win64", "yes");
166 } 166 }
167 167
168 if (!existenceOnly) 168 if (!existenceOnly)
169 { 169 {
170 if (0 != (tuple.Attributes & WixRegistrySearchAttributes.ExpandEnvironmentVariables)) 170 if (0 != (symbol.Attributes & WixRegistrySearchAttributes.ExpandEnvironmentVariables))
171 { 171 {
172 writer.WriteAttributeString("ExpandEnvironment", "yes"); 172 writer.WriteAttributeString("ExpandEnvironment", "yes");
173 } 173 }