aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Common/XmlRpcCS/XmlRpcResponseDeserializer.cs
diff options
context:
space:
mode:
authorAdam Frisby2007-07-11 08:02:47 +0000
committerAdam Frisby2007-07-11 08:02:47 +0000
commit5c7ffdde0b9642a42e8f5987e06eb01220ff7776 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /Common/XmlRpcCS/XmlRpcResponseDeserializer.cs
parentWho would have known that the only way of specifying utf-8 without preamble, ... (diff)
downloadopensim-SC-5c7ffdde0b9642a42e8f5987e06eb01220ff7776.zip
opensim-SC-5c7ffdde0b9642a42e8f5987e06eb01220ff7776.tar.gz
opensim-SC-5c7ffdde0b9642a42e8f5987e06eb01220ff7776.tar.bz2
opensim-SC-5c7ffdde0b9642a42e8f5987e06eb01220ff7776.tar.xz
* Wiping trunk in prep for Sugilite
Diffstat (limited to 'Common/XmlRpcCS/XmlRpcResponseDeserializer.cs')
-rw-r--r--Common/XmlRpcCS/XmlRpcResponseDeserializer.cs92
1 files changed, 0 insertions, 92 deletions
diff --git a/Common/XmlRpcCS/XmlRpcResponseDeserializer.cs b/Common/XmlRpcCS/XmlRpcResponseDeserializer.cs
deleted file mode 100644
index 46c5742..0000000
--- a/Common/XmlRpcCS/XmlRpcResponseDeserializer.cs
+++ /dev/null
@@ -1,92 +0,0 @@
1/*
2* Copyright (c) Contributors, http://www.openmetaverse.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28namespace Nwc.XmlRpc
29{
30 using System;
31 using System.Collections;
32 using System.IO;
33 using System.Xml;
34
35 /// <summary>Class to deserialize XML data representing a response.</summary>
36 public class XmlRpcResponseDeserializer : XmlRpcDeserializer
37 {
38 static private XmlRpcResponseDeserializer _singleton;
39 /// <summary>A static singleton instance of this deserializer.</summary>
40 [Obsolete("This object is now thread safe, just use an instance.", false)]
41 static public XmlRpcResponseDeserializer Singleton
42 {
43 get
44 {
45 if (_singleton == null)
46 _singleton = new XmlRpcResponseDeserializer();
47
48 return _singleton;
49 }
50 }
51
52 /// <summary>Static method that parses XML data into a response using the Singleton.</summary>
53 /// <param name="xmlData"><c>StreamReader</c> containing an XML-RPC response.</param>
54 /// <returns><c>XmlRpcResponse</c> object resulting from the parse.</returns>
55 override public Object Deserialize(TextReader xmlData)
56 {
57 XmlTextReader reader = new XmlTextReader(xmlData);
58 XmlRpcResponse response = new XmlRpcResponse();
59 bool done = false;
60
61 lock (this)
62 {
63 Reset();
64
65 while (!done && reader.Read())
66 {
67 DeserializeNode(reader); // Parent parse...
68 switch (reader.NodeType)
69 {
70 case XmlNodeType.EndElement:
71 switch (reader.Name)
72 {
73 case FAULT:
74 response.Value = _value;
75 response.IsFault = true;
76 break;
77 case PARAM:
78 response.Value = _value;
79 _value = null;
80 _text = null;
81 break;
82 }
83 break;
84 default:
85 break;
86 }
87 }
88 }
89 return response;
90 }
91 }
92}