aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data.WindowsInstaller/SubStorage.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data.WindowsInstaller/SubStorage.cs')
-rw-r--r--src/WixToolset.Data.WindowsInstaller/SubStorage.cs109
1 files changed, 0 insertions, 109 deletions
diff --git a/src/WixToolset.Data.WindowsInstaller/SubStorage.cs b/src/WixToolset.Data.WindowsInstaller/SubStorage.cs
deleted file mode 100644
index e136bfe9..00000000
--- a/src/WixToolset.Data.WindowsInstaller/SubStorage.cs
+++ /dev/null
@@ -1,109 +0,0 @@
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
3namespace WixToolset.Data
4{
5 using System.Xml;
6
7 /// <summary>
8 /// Substorage inside an output.
9 /// </summary>
10 public sealed class SubStorage
11 {
12 /// <summary>
13 /// Instantiate a new substorage.
14 /// </summary>
15 /// <param name="name">The substorage name.</param>
16 /// <param name="data">The substorage data.</param>
17 public SubStorage(string name, Output data)
18 {
19 this.Name = name;
20 this.Data = data;
21 }
22
23 /// <summary>
24 /// Gets the substorage name.
25 /// </summary>
26 /// <value>The substorage name.</value>
27 public string Name { get; private set; }
28
29 /// <summary>
30 /// Gets the substorage data.
31 /// </summary>
32 /// <value>The substorage data.</value>
33 public Output Data { get; private set; }
34
35 /// <summary>
36 /// Creates a SubStorage from the XmlReader.
37 /// </summary>
38 /// <param name="reader">Reader to get data from.</param>
39 /// <returns>New SubStorage object.</returns>
40 internal static SubStorage Read(XmlReader reader)
41 {
42 if (!reader.LocalName.Equals("subStorage" == reader.LocalName))
43 {
44 throw new XmlException();
45 }
46
47 Output data = null;
48 bool empty = reader.IsEmptyElement;
49 string name = null;
50
51 while (reader.MoveToNextAttribute())
52 {
53 switch (reader.LocalName)
54 {
55 case "name":
56 name = reader.Value;
57 break;
58 }
59 }
60
61 if (!empty)
62 {
63 bool done = false;
64
65 while (!done && reader.Read())
66 {
67 switch (reader.NodeType)
68 {
69 case XmlNodeType.Element:
70 switch (reader.LocalName)
71 {
72 case "wixOutput":
73 data = Output.Read(reader, true);
74 break;
75 default:
76 throw new XmlException();
77 }
78 break;
79 case XmlNodeType.EndElement:
80 done = true;
81 break;
82 }
83 }
84
85 if (!done)
86 {
87 throw new XmlException();
88 }
89 }
90
91 return new SubStorage(name, data);
92 }
93
94 /// <summary>
95 /// Persists a SubStorage in an XML format.
96 /// </summary>
97 /// <param name="writer">XmlWriter where the SubStorage should persist itself as XML.</param>
98 internal void Write(XmlWriter writer)
99 {
100 writer.WriteStartElement("subStorage", Output.XmlNamespaceUri);
101
102 writer.WriteAttributeString("name", this.Name);
103
104 this.Data.Write(writer);
105
106 writer.WriteEndElement();
107 }
108 }
109}