aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/AssetInventoryServer/Utils.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/AssetInventoryServer/Utils.cs')
-rw-r--r--OpenSim/Grid/AssetInventoryServer/Utils.cs2068
1 files changed, 1034 insertions, 1034 deletions
diff --git a/OpenSim/Grid/AssetInventoryServer/Utils.cs b/OpenSim/Grid/AssetInventoryServer/Utils.cs
index a81a0ba..e1b62a4 100644
--- a/OpenSim/Grid/AssetInventoryServer/Utils.cs
+++ b/OpenSim/Grid/AssetInventoryServer/Utils.cs
@@ -1,1034 +1,1034 @@
1/* 1/*
2 * Copyright (c) 2008 Intel Corporation 2 * Copyright (c) 2008 Intel Corporation
3 * All rights reserved. 3 * All rights reserved.
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * -- Redistributions of source code must retain the above copyright 8 * -- Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * -- Redistributions in binary form must reproduce the above copyright 10 * -- Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * -- Neither the name of the Intel Corporation nor the names of its 13 * -- Neither the name of the Intel Corporation nor the names of its
14 * contributors may be used to endorse or promote products derived from 14 * contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission. 15 * this software without specific prior written permission.
16 * 16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS 20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR ITS
21 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30using System; 30using System;
31using System.Collections.Specialized; 31using System.Collections.Specialized;
32using System.Globalization; 32using System.Globalization;
33using System.Net; 33using System.Net;
34using System.Xml; 34using System.Xml;
35using System.Xml.Serialization; 35using System.Xml.Serialization;
36using OpenMetaverse; 36using OpenMetaverse;
37using OpenMetaverse.StructuredData; 37using OpenMetaverse.StructuredData;
38using HttpServer; 38using HttpServer;
39 39
40namespace OpenSim.Grid.AssetInventoryServer 40namespace OpenSim.Grid.AssetInventoryServer
41{ 41{
42 public static class Utils 42 public static class Utils
43 { 43 {
44 public static UUID GetAuthToken(IHttpRequest request) 44 public static UUID GetAuthToken(IHttpRequest request)
45 { 45 {
46 UUID authToken = UUID.Zero; 46 UUID authToken = UUID.Zero;
47 47
48 string[] authHeader = request.Headers.GetValues("Authorization"); 48 string[] authHeader = request.Headers.GetValues("Authorization");
49 if (authHeader != null && authHeader.Length == 1) 49 if (authHeader != null && authHeader.Length == 1)
50 { 50 {
51 // Example header: 51 // Example header:
52 // Authorization: OpenGrid 65fda0b5-4446-42f5-b828-aaf644293646 52 // Authorization: OpenGrid 65fda0b5-4446-42f5-b828-aaf644293646
53 string[] authHeaderParts = authHeader[0].Split(' '); 53 string[] authHeaderParts = authHeader[0].Split(' ');
54 if (authHeaderParts.Length == 2 && authHeaderParts[0] == "OpenGrid") 54 if (authHeaderParts.Length == 2 && authHeaderParts[0] == "OpenGrid")
55 UUID.TryParse(authHeaderParts[1], out authToken); 55 UUID.TryParse(authHeaderParts[1], out authToken);
56 } 56 }
57 57
58 if (authToken == UUID.Zero && request.Cookies != null) 58 if (authToken == UUID.Zero && request.Cookies != null)
59 { 59 {
60 // Check for an authToken cookie to make logins browser-compatible 60 // Check for an authToken cookie to make logins browser-compatible
61 RequestCookie authCookie = request.Cookies["authToken"]; 61 RequestCookie authCookie = request.Cookies["authToken"];
62 if (authCookie != null) 62 if (authCookie != null)
63 UUID.TryParse(authCookie.Value, out authToken); 63 UUID.TryParse(authCookie.Value, out authToken);
64 } 64 }
65 65
66 return authToken; 66 return authToken;
67 } 67 }
68 68
69 public static Uri GetOpenSimUri(UUID avatarID) 69 public static Uri GetOpenSimUri(UUID avatarID)
70 { 70 {
71 return new Uri("http://opensim/" + avatarID.ToString()); 71 return new Uri("http://opensim/" + avatarID.ToString());
72 } 72 }
73 73
74 public static bool TryGetOpenSimUUID(Uri avatarUri, out UUID avatarID) 74 public static bool TryGetOpenSimUUID(Uri avatarUri, out UUID avatarID)
75 { 75 {
76 string[] parts = avatarUri.Segments; 76 string[] parts = avatarUri.Segments;
77 return UUID.TryParse(parts[parts.Length - 1], out avatarID); 77 return UUID.TryParse(parts[parts.Length - 1], out avatarID);
78 } 78 }
79 79
80 #region SL / file extension / content-type conversions 80 #region SL / file extension / content-type conversions
81 81
82 public static string SLAssetTypeToContentType(int assetType) 82 public static string SLAssetTypeToContentType(int assetType)
83 { 83 {
84 switch (assetType) 84 switch (assetType)
85 { 85 {
86 case 0: 86 case 0:
87 return "image/jp2"; 87 return "image/jp2";
88 case 1: 88 case 1:
89 return "application/ogg"; 89 return "application/ogg";
90 case 2: 90 case 2:
91 return "application/x-metaverse-callingcard"; 91 return "application/x-metaverse-callingcard";
92 case 3: 92 case 3:
93 return "application/x-metaverse-landmark"; 93 return "application/x-metaverse-landmark";
94 case 5: 94 case 5:
95 return "application/x-metaverse-clothing"; 95 return "application/x-metaverse-clothing";
96 case 6: 96 case 6:
97 return "application/x-metaverse-primitive"; 97 return "application/x-metaverse-primitive";
98 case 7: 98 case 7:
99 return "application/x-metaverse-notecard"; 99 return "application/x-metaverse-notecard";
100 case 8: 100 case 8:
101 return "application/x-metaverse-folder"; 101 return "application/x-metaverse-folder";
102 case 10: 102 case 10:
103 return "application/x-metaverse-lsl"; 103 return "application/x-metaverse-lsl";
104 case 11: 104 case 11:
105 return "application/x-metaverse-lso"; 105 return "application/x-metaverse-lso";
106 case 12: 106 case 12:
107 return "image/tga"; 107 return "image/tga";
108 case 13: 108 case 13:
109 return "application/x-metaverse-bodypart"; 109 return "application/x-metaverse-bodypart";
110 case 17: 110 case 17:
111 return "audio/x-wav"; 111 return "audio/x-wav";
112 case 19: 112 case 19:
113 return "image/jpeg"; 113 return "image/jpeg";
114 case 20: 114 case 20:
115 return "application/x-metaverse-animation"; 115 return "application/x-metaverse-animation";
116 case 21: 116 case 21:
117 return "application/x-metaverse-gesture"; 117 return "application/x-metaverse-gesture";
118 case 22: 118 case 22:
119 return "application/x-metaverse-simstate"; 119 return "application/x-metaverse-simstate";
120 default: 120 default:
121 return "application/octet-stream"; 121 return "application/octet-stream";
122 } 122 }
123 } 123 }
124 124
125 public static int ContentTypeToSLAssetType(string contentType) 125 public static int ContentTypeToSLAssetType(string contentType)
126 { 126 {
127 switch (contentType) 127 switch (contentType)
128 { 128 {
129 case "image/jp2": 129 case "image/jp2":
130 return 0; 130 return 0;
131 case "application/ogg": 131 case "application/ogg":
132 return 1; 132 return 1;
133 case "application/x-metaverse-callingcard": 133 case "application/x-metaverse-callingcard":
134 return 2; 134 return 2;
135 case "application/x-metaverse-landmark": 135 case "application/x-metaverse-landmark":
136 return 3; 136 return 3;
137 case "application/x-metaverse-clothing": 137 case "application/x-metaverse-clothing":
138 return 5; 138 return 5;
139 case "application/x-metaverse-primitive": 139 case "application/x-metaverse-primitive":
140 return 6; 140 return 6;
141 case "application/x-metaverse-notecard": 141 case "application/x-metaverse-notecard":
142 return 7; 142 return 7;
143 case "application/x-metaverse-lsl": 143 case "application/x-metaverse-lsl":
144 return 10; 144 return 10;
145 case "application/x-metaverse-lso": 145 case "application/x-metaverse-lso":
146 return 11; 146 return 11;
147 case "image/tga": 147 case "image/tga":
148 return 12; 148 return 12;
149 case "application/x-metaverse-bodypart": 149 case "application/x-metaverse-bodypart":
150 return 13; 150 return 13;
151 case "audio/x-wav": 151 case "audio/x-wav":
152 return 17; 152 return 17;
153 case "image/jpeg": 153 case "image/jpeg":
154 return 19; 154 return 19;
155 case "application/x-metaverse-animation": 155 case "application/x-metaverse-animation":
156 return 20; 156 return 20;
157 case "application/x-metaverse-gesture": 157 case "application/x-metaverse-gesture":
158 return 21; 158 return 21;
159 case "application/x-metaverse-simstate": 159 case "application/x-metaverse-simstate":
160 return 22; 160 return 22;
161 default: 161 default:
162 return -1; 162 return -1;
163 } 163 }
164 } 164 }
165 165
166 public static string ContentTypeToExtension(string contentType) 166 public static string ContentTypeToExtension(string contentType)
167 { 167 {
168 switch (contentType) 168 switch (contentType)
169 { 169 {
170 case "image/jp2": 170 case "image/jp2":
171 return "texture"; 171 return "texture";
172 case "application/ogg": 172 case "application/ogg":
173 return "ogg"; 173 return "ogg";
174 case "application/x-metaverse-callingcard": 174 case "application/x-metaverse-callingcard":
175 return "callingcard"; 175 return "callingcard";
176 case "application/x-metaverse-landmark": 176 case "application/x-metaverse-landmark":
177 return "landmark"; 177 return "landmark";
178 case "application/x-metaverse-clothing": 178 case "application/x-metaverse-clothing":
179 return "clothing"; 179 return "clothing";
180 case "application/x-metaverse-primitive": 180 case "application/x-metaverse-primitive":
181 return "primitive"; 181 return "primitive";
182 case "application/x-metaverse-notecard": 182 case "application/x-metaverse-notecard":
183 return "notecard"; 183 return "notecard";
184 case "application/x-metaverse-lsl": 184 case "application/x-metaverse-lsl":
185 return "lsl"; 185 return "lsl";
186 case "application/x-metaverse-lso": 186 case "application/x-metaverse-lso":
187 return "lso"; 187 return "lso";
188 case "image/tga": 188 case "image/tga":
189 return "tga"; 189 return "tga";
190 case "application/x-metaverse-bodypart": 190 case "application/x-metaverse-bodypart":
191 return "bodypart"; 191 return "bodypart";
192 case "audio/x-wav": 192 case "audio/x-wav":
193 return "wav"; 193 return "wav";
194 case "image/jpeg": 194 case "image/jpeg":
195 return "jpg"; 195 return "jpg";
196 case "application/x-metaverse-animation": 196 case "application/x-metaverse-animation":
197 return "animation"; 197 return "animation";
198 case "application/x-metaverse-gesture": 198 case "application/x-metaverse-gesture":
199 return "gesture"; 199 return "gesture";
200 case "application/x-metaverse-simstate": 200 case "application/x-metaverse-simstate":
201 return "simstate"; 201 return "simstate";
202 default: 202 default:
203 return "bin"; 203 return "bin";
204 } 204 }
205 } 205 }
206 206
207 public static string ExtensionToContentType(string extension) 207 public static string ExtensionToContentType(string extension)
208 { 208 {
209 switch (extension) 209 switch (extension)
210 { 210 {
211 case "texture": 211 case "texture":
212 case "jp2": 212 case "jp2":
213 case "j2c": 213 case "j2c":
214 return "image/jp2"; 214 return "image/jp2";
215 case "sound": 215 case "sound":
216 case "ogg": 216 case "ogg":
217 return "application/ogg"; 217 return "application/ogg";
218 case "callingcard": 218 case "callingcard":
219 return "application/x-metaverse-callingcard"; 219 return "application/x-metaverse-callingcard";
220 case "landmark": 220 case "landmark":
221 return "application/x-metaverse-landmark"; 221 return "application/x-metaverse-landmark";
222 case "clothing": 222 case "clothing":
223 return "application/x-metaverse-clothing"; 223 return "application/x-metaverse-clothing";
224 case "primitive": 224 case "primitive":
225 return "application/x-metaverse-primitive"; 225 return "application/x-metaverse-primitive";
226 case "notecard": 226 case "notecard":
227 return "application/x-metaverse-notecard"; 227 return "application/x-metaverse-notecard";
228 case "lsl": 228 case "lsl":
229 return "application/x-metaverse-lsl"; 229 return "application/x-metaverse-lsl";
230 case "lso": 230 case "lso":
231 return "application/x-metaverse-lso"; 231 return "application/x-metaverse-lso";
232 case "tga": 232 case "tga":
233 return "image/tga"; 233 return "image/tga";
234 case "bodypart": 234 case "bodypart":
235 return "application/x-metaverse-bodypart"; 235 return "application/x-metaverse-bodypart";
236 case "wav": 236 case "wav":
237 return "audio/x-wav"; 237 return "audio/x-wav";
238 case "jpg": 238 case "jpg":
239 case "jpeg": 239 case "jpeg":
240 return "image/jpeg"; 240 return "image/jpeg";
241 case "animation": 241 case "animation":
242 return "application/x-metaverse-animation"; 242 return "application/x-metaverse-animation";
243 case "gesture": 243 case "gesture":
244 return "application/x-metaverse-gesture"; 244 return "application/x-metaverse-gesture";
245 case "simstate": 245 case "simstate":
246 return "application/x-metaverse-simstate"; 246 return "application/x-metaverse-simstate";
247 case "txt": 247 case "txt":
248 return "text/plain"; 248 return "text/plain";
249 case "xml": 249 case "xml":
250 return "application/xml"; 250 return "application/xml";
251 default: 251 default:
252 return "application/octet-stream"; 252 return "application/octet-stream";
253 } 253 }
254 } 254 }
255 255
256 #endregion SL / file extension / content-type conversions 256 #endregion SL / file extension / content-type conversions
257 257
258 #region XML Serialization 258 #region XML Serialization
259 259
260 public class GeneratedReader : XmlSerializationReader 260 public class GeneratedReader : XmlSerializationReader
261 { 261 {
262 public object ReadRoot_InventoryFolderBase() 262 public object ReadRoot_InventoryFolderBase()
263 { 263 {
264 Reader.MoveToContent(); 264 Reader.MoveToContent();
265 if (Reader.LocalName != "InventoryFolderBase" || Reader.NamespaceURI != "") 265 if (Reader.LocalName != "InventoryFolderBase" || Reader.NamespaceURI != "")
266 throw CreateUnknownNodeException(); 266 throw CreateUnknownNodeException();
267 return ReadObject_InventoryFolder(true, true); 267 return ReadObject_InventoryFolder(true, true);
268 } 268 }
269 269
270 public object ReadRoot_InventoryItemBase() 270 public object ReadRoot_InventoryItemBase()
271 { 271 {
272 Reader.MoveToContent(); 272 Reader.MoveToContent();
273 if (Reader.LocalName != "InventoryItemBase" || Reader.NamespaceURI != "") 273 if (Reader.LocalName != "InventoryItemBase" || Reader.NamespaceURI != "")
274 throw CreateUnknownNodeException(); 274 throw CreateUnknownNodeException();
275 return ReadObject_InventoryItem(true, true); 275 return ReadObject_InventoryItem(true, true);
276 } 276 }
277 277
278 public object ReadRoot_InventoryCollection() 278 public object ReadRoot_InventoryCollection()
279 { 279 {
280 Reader.MoveToContent(); 280 Reader.MoveToContent();
281 if (Reader.LocalName != "InventoryCollection" || Reader.NamespaceURI != "") 281 if (Reader.LocalName != "InventoryCollection" || Reader.NamespaceURI != "")
282 throw CreateUnknownNodeException(); 282 throw CreateUnknownNodeException();
283 return ReadObject_InventoryCollection(true, true); 283 return ReadObject_InventoryCollection(true, true);
284 } 284 }
285 285
286 public InventoryFolder ReadObject_InventoryFolder(bool isNullable, bool checkType) 286 public InventoryFolder ReadObject_InventoryFolder(bool isNullable, bool checkType)
287 { 287 {
288 InventoryFolder ob = null; 288 InventoryFolder ob = null;
289 if (isNullable && ReadNull()) return null; 289 if (isNullable && ReadNull()) return null;
290 290
291 if (checkType) 291 if (checkType)
292 { 292 {
293 System.Xml.XmlQualifiedName t = GetXsiType(); 293 System.Xml.XmlQualifiedName t = GetXsiType();
294 if (t == null) 294 if (t == null)
295 { } 295 { }
296 else if (t.Name != "InventoryFolderBase" || t.Namespace != "") 296 else if (t.Name != "InventoryFolderBase" || t.Namespace != "")
297 throw CreateUnknownTypeException(t); 297 throw CreateUnknownTypeException(t);
298 } 298 }
299 299
300 ob = (InventoryFolder)Activator.CreateInstance(typeof(InventoryFolder), true); 300 ob = (InventoryFolder)Activator.CreateInstance(typeof(InventoryFolder), true);
301 301
302 Reader.MoveToElement(); 302 Reader.MoveToElement();
303 303
304 while (Reader.MoveToNextAttribute()) 304 while (Reader.MoveToNextAttribute())
305 { 305 {
306 if (IsXmlnsAttribute(Reader.Name)) 306 if (IsXmlnsAttribute(Reader.Name))
307 { 307 {
308 } 308 }
309 else 309 else
310 { 310 {
311 UnknownNode(ob); 311 UnknownNode(ob);
312 } 312 }
313 } 313 }
314 314
315 Reader.MoveToElement(); 315 Reader.MoveToElement();
316 Reader.MoveToElement(); 316 Reader.MoveToElement();
317 if (Reader.IsEmptyElement) 317 if (Reader.IsEmptyElement)
318 { 318 {
319 Reader.Skip(); 319 Reader.Skip();
320 return ob; 320 return ob;
321 } 321 }
322 322
323 Reader.ReadStartElement(); 323 Reader.ReadStartElement();
324 Reader.MoveToContent(); 324 Reader.MoveToContent();
325 325
326 bool b0 = false, b1 = false, b2 = false, b3 = false, b4 = false, b5 = false; 326 bool b0 = false, b1 = false, b2 = false, b3 = false, b4 = false, b5 = false;
327 327
328 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 328 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
329 { 329 {
330 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 330 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
331 { 331 {
332 if (Reader.LocalName == "Owner" && Reader.NamespaceURI == "" && !b1) 332 if (Reader.LocalName == "Owner" && Reader.NamespaceURI == "" && !b1)
333 { 333 {
334 b1 = true; 334 b1 = true;
335 ob.@Owner = ReadObject_UUID(false, true); 335 ob.@Owner = ReadObject_UUID(false, true);
336 } 336 }
337 else if (Reader.LocalName == "Version" && Reader.NamespaceURI == "" && !b5) 337 else if (Reader.LocalName == "Version" && Reader.NamespaceURI == "" && !b5)
338 { 338 {
339 b5 = true; 339 b5 = true;
340 string s6 = Reader.ReadElementString(); 340 string s6 = Reader.ReadElementString();
341 ob.@Version = UInt16.Parse(s6, CultureInfo.InvariantCulture); 341 ob.@Version = UInt16.Parse(s6, CultureInfo.InvariantCulture);
342 } 342 }
343 else if (Reader.LocalName == "ID" && Reader.NamespaceURI == "" && !b3) 343 else if (Reader.LocalName == "ID" && Reader.NamespaceURI == "" && !b3)
344 { 344 {
345 b3 = true; 345 b3 = true;
346 ob.@ID = ReadObject_UUID(false, true); 346 ob.@ID = ReadObject_UUID(false, true);
347 } 347 }
348 else if (Reader.LocalName == "Type" && Reader.NamespaceURI == "" && !b4) 348 else if (Reader.LocalName == "Type" && Reader.NamespaceURI == "" && !b4)
349 { 349 {
350 b4 = true; 350 b4 = true;
351 string s7 = Reader.ReadElementString(); 351 string s7 = Reader.ReadElementString();
352 ob.@Type = Int16.Parse(s7, CultureInfo.InvariantCulture); 352 ob.@Type = Int16.Parse(s7, CultureInfo.InvariantCulture);
353 } 353 }
354 else if (Reader.LocalName == "Name" && Reader.NamespaceURI == "" && !b0) 354 else if (Reader.LocalName == "Name" && Reader.NamespaceURI == "" && !b0)
355 { 355 {
356 b0 = true; 356 b0 = true;
357 string s8 = Reader.ReadElementString(); 357 string s8 = Reader.ReadElementString();
358 ob.@Name = s8; 358 ob.@Name = s8;
359 } 359 }
360 else if (Reader.LocalName == "ParentID" && Reader.NamespaceURI == "" && !b2) 360 else if (Reader.LocalName == "ParentID" && Reader.NamespaceURI == "" && !b2)
361 { 361 {
362 b2 = true; 362 b2 = true;
363 ob.@ParentID = ReadObject_UUID(false, true); 363 ob.@ParentID = ReadObject_UUID(false, true);
364 } 364 }
365 else 365 else
366 { 366 {
367 UnknownNode(ob); 367 UnknownNode(ob);
368 } 368 }
369 } 369 }
370 else 370 else
371 UnknownNode(ob); 371 UnknownNode(ob);
372 372
373 Reader.MoveToContent(); 373 Reader.MoveToContent();
374 } 374 }
375 375
376 ReadEndElement(); 376 ReadEndElement();
377 377
378 return ob; 378 return ob;
379 } 379 }
380 380
381 public InventoryItem ReadObject_InventoryItem(bool isNullable, bool checkType) 381 public InventoryItem ReadObject_InventoryItem(bool isNullable, bool checkType)
382 { 382 {
383 InventoryItem ob = null; 383 InventoryItem ob = null;
384 if (isNullable && ReadNull()) return null; 384 if (isNullable && ReadNull()) return null;
385 385
386 if (checkType) 386 if (checkType)
387 { 387 {
388 System.Xml.XmlQualifiedName t = GetXsiType(); 388 System.Xml.XmlQualifiedName t = GetXsiType();
389 if (t == null) 389 if (t == null)
390 { } 390 { }
391 else if (t.Name != "InventoryItemBase" || t.Namespace != "") 391 else if (t.Name != "InventoryItemBase" || t.Namespace != "")
392 throw CreateUnknownTypeException(t); 392 throw CreateUnknownTypeException(t);
393 } 393 }
394 394
395 ob = (InventoryItem)Activator.CreateInstance(typeof(InventoryItem), true); 395 ob = (InventoryItem)Activator.CreateInstance(typeof(InventoryItem), true);
396 396
397 Reader.MoveToElement(); 397 Reader.MoveToElement();
398 398
399 while (Reader.MoveToNextAttribute()) 399 while (Reader.MoveToNextAttribute())
400 { 400 {
401 if (IsXmlnsAttribute(Reader.Name)) 401 if (IsXmlnsAttribute(Reader.Name))
402 { 402 {
403 } 403 }
404 else 404 else
405 { 405 {
406 UnknownNode(ob); 406 UnknownNode(ob);
407 } 407 }
408 } 408 }
409 409
410 Reader.MoveToElement(); 410 Reader.MoveToElement();
411 Reader.MoveToElement(); 411 Reader.MoveToElement();
412 if (Reader.IsEmptyElement) 412 if (Reader.IsEmptyElement)
413 { 413 {
414 Reader.Skip(); 414 Reader.Skip();
415 return ob; 415 return ob;
416 } 416 }
417 417
418 Reader.ReadStartElement(); 418 Reader.ReadStartElement();
419 Reader.MoveToContent(); 419 Reader.MoveToContent();
420 420
421 bool b9 = false, b10 = false, b11 = false, b12 = false, b13 = false, b14 = false, b15 = false, b16 = false, b17 = false, b18 = false, b19 = false, b20 = false, b21 = false, b22 = false, b23 = false, b24 = false, b25 = false, b26 = false, b27 = false, b28 = false; 421 bool b9 = false, b10 = false, b11 = false, b12 = false, b13 = false, b14 = false, b15 = false, b16 = false, b17 = false, b18 = false, b19 = false, b20 = false, b21 = false, b22 = false, b23 = false, b24 = false, b25 = false, b26 = false, b27 = false, b28 = false;
422 422
423 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 423 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
424 { 424 {
425 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 425 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
426 { 426 {
427 if (Reader.LocalName == "GroupPermissions" && Reader.NamespaceURI == "" && !b20) 427 if (Reader.LocalName == "GroupPermissions" && Reader.NamespaceURI == "" && !b20)
428 { 428 {
429 b20 = true; 429 b20 = true;
430 string s29 = Reader.ReadElementString(); 430 string s29 = Reader.ReadElementString();
431 ob.@GroupPermissions = UInt32.Parse(s29, CultureInfo.InvariantCulture); 431 ob.@GroupPermissions = UInt32.Parse(s29, CultureInfo.InvariantCulture);
432 } 432 }
433 else if (Reader.LocalName == "AssetType" && Reader.NamespaceURI == "" && !b21) 433 else if (Reader.LocalName == "AssetType" && Reader.NamespaceURI == "" && !b21)
434 { 434 {
435 b21 = true; 435 b21 = true;
436 string s30 = Reader.ReadElementString(); 436 string s30 = Reader.ReadElementString();
437 ob.@AssetType = Int32.Parse(s30, CultureInfo.InvariantCulture); 437 ob.@AssetType = Int32.Parse(s30, CultureInfo.InvariantCulture);
438 } 438 }
439 else if (Reader.LocalName == "SalePrice" && Reader.NamespaceURI == "" && !b25) 439 else if (Reader.LocalName == "SalePrice" && Reader.NamespaceURI == "" && !b25)
440 { 440 {
441 b25 = true; 441 b25 = true;
442 string s31 = Reader.ReadElementString(); 442 string s31 = Reader.ReadElementString();
443 ob.@SalePrice = Int32.Parse(s31, CultureInfo.InvariantCulture); 443 ob.@SalePrice = Int32.Parse(s31, CultureInfo.InvariantCulture);
444 } 444 }
445 else if (Reader.LocalName == "AssetID" && Reader.NamespaceURI == "" && !b22) 445 else if (Reader.LocalName == "AssetID" && Reader.NamespaceURI == "" && !b22)
446 { 446 {
447 b22 = true; 447 b22 = true;
448 ob.@AssetID = ReadObject_UUID(false, true); 448 ob.@AssetID = ReadObject_UUID(false, true);
449 } 449 }
450 else if (Reader.LocalName == "Folder" && Reader.NamespaceURI == "" && !b11) 450 else if (Reader.LocalName == "Folder" && Reader.NamespaceURI == "" && !b11)
451 { 451 {
452 b11 = true; 452 b11 = true;
453 ob.@Folder = ReadObject_UUID(false, true); 453 ob.@Folder = ReadObject_UUID(false, true);
454 } 454 }
455 else if (Reader.LocalName == "Name" && Reader.NamespaceURI == "" && !b14) 455 else if (Reader.LocalName == "Name" && Reader.NamespaceURI == "" && !b14)
456 { 456 {
457 b14 = true; 457 b14 = true;
458 string s32 = Reader.ReadElementString(); 458 string s32 = Reader.ReadElementString();
459 ob.@Name = s32; 459 ob.@Name = s32;
460 } 460 }
461 else if (Reader.LocalName == "NextPermissions" && Reader.NamespaceURI == "" && !b16) 461 else if (Reader.LocalName == "NextPermissions" && Reader.NamespaceURI == "" && !b16)
462 { 462 {
463 b16 = true; 463 b16 = true;
464 string s33 = Reader.ReadElementString(); 464 string s33 = Reader.ReadElementString();
465 ob.@NextPermissions = UInt32.Parse(s33, CultureInfo.InvariantCulture); 465 ob.@NextPermissions = UInt32.Parse(s33, CultureInfo.InvariantCulture);
466 } 466 }
467 else if (Reader.LocalName == "BasePermissions" && Reader.NamespaceURI == "" && !b18) 467 else if (Reader.LocalName == "BasePermissions" && Reader.NamespaceURI == "" && !b18)
468 { 468 {
469 b18 = true; 469 b18 = true;
470 string s34 = Reader.ReadElementString(); 470 string s34 = Reader.ReadElementString();
471 ob.@BasePermissions = UInt32.Parse(s34, CultureInfo.InvariantCulture); 471 ob.@BasePermissions = UInt32.Parse(s34, CultureInfo.InvariantCulture);
472 } 472 }
473 else if (Reader.LocalName == "ID" && Reader.NamespaceURI == "" && !b9) 473 else if (Reader.LocalName == "ID" && Reader.NamespaceURI == "" && !b9)
474 { 474 {
475 b9 = true; 475 b9 = true;
476 ob.@ID = ReadObject_UUID(false, true); 476 ob.@ID = ReadObject_UUID(false, true);
477 } 477 }
478 else if (Reader.LocalName == "Flags" && Reader.NamespaceURI == "" && !b27) 478 else if (Reader.LocalName == "Flags" && Reader.NamespaceURI == "" && !b27)
479 { 479 {
480 b27 = true; 480 b27 = true;
481 string s35 = Reader.ReadElementString(); 481 string s35 = Reader.ReadElementString();
482 ob.@Flags = UInt32.Parse(s35, CultureInfo.InvariantCulture); 482 ob.@Flags = UInt32.Parse(s35, CultureInfo.InvariantCulture);
483 } 483 }
484 else if (Reader.LocalName == "GroupOwned" && Reader.NamespaceURI == "" && !b24) 484 else if (Reader.LocalName == "GroupOwned" && Reader.NamespaceURI == "" && !b24)
485 { 485 {
486 b24 = true; 486 b24 = true;
487 string s36 = Reader.ReadElementString(); 487 string s36 = Reader.ReadElementString();
488 ob.@GroupOwned = XmlConvert.ToBoolean(s36); 488 ob.@GroupOwned = XmlConvert.ToBoolean(s36);
489 } 489 }
490 else if (Reader.LocalName == "InvType" && Reader.NamespaceURI == "" && !b10) 490 else if (Reader.LocalName == "InvType" && Reader.NamespaceURI == "" && !b10)
491 { 491 {
492 b10 = true; 492 b10 = true;
493 string s37 = Reader.ReadElementString(); 493 string s37 = Reader.ReadElementString();
494 ob.@InvType = Int32.Parse(s37, CultureInfo.InvariantCulture); 494 ob.@InvType = Int32.Parse(s37, CultureInfo.InvariantCulture);
495 } 495 }
496 else if (Reader.LocalName == "GroupID" && Reader.NamespaceURI == "" && !b23) 496 else if (Reader.LocalName == "GroupID" && Reader.NamespaceURI == "" && !b23)
497 { 497 {
498 b23 = true; 498 b23 = true;
499 ob.@GroupID = ReadObject_UUID(false, true); 499 ob.@GroupID = ReadObject_UUID(false, true);
500 } 500 }
501 else if (Reader.LocalName == "Description" && Reader.NamespaceURI == "" && !b15) 501 else if (Reader.LocalName == "Description" && Reader.NamespaceURI == "" && !b15)
502 { 502 {
503 b15 = true; 503 b15 = true;
504 string s38 = Reader.ReadElementString(); 504 string s38 = Reader.ReadElementString();
505 ob.@Description = s38; 505 ob.@Description = s38;
506 } 506 }
507 else if (Reader.LocalName == "CreationDate" && Reader.NamespaceURI == "" && !b28) 507 else if (Reader.LocalName == "CreationDate" && Reader.NamespaceURI == "" && !b28)
508 { 508 {
509 b28 = true; 509 b28 = true;
510 string s39 = Reader.ReadElementString(); 510 string s39 = Reader.ReadElementString();
511 ob.@CreationDate = Int32.Parse(s39, CultureInfo.InvariantCulture); 511 ob.@CreationDate = Int32.Parse(s39, CultureInfo.InvariantCulture);
512 } 512 }
513 else if (Reader.LocalName == "EveryOnePermissions" && Reader.NamespaceURI == "" && !b19) 513 else if (Reader.LocalName == "EveryOnePermissions" && Reader.NamespaceURI == "" && !b19)
514 { 514 {
515 b19 = true; 515 b19 = true;
516 string s40 = Reader.ReadElementString(); 516 string s40 = Reader.ReadElementString();
517 ob.@EveryOnePermissions = UInt32.Parse(s40, CultureInfo.InvariantCulture); 517 ob.@EveryOnePermissions = UInt32.Parse(s40, CultureInfo.InvariantCulture);
518 } 518 }
519 else if (Reader.LocalName == "Creator" && Reader.NamespaceURI == "" && !b13) 519 else if (Reader.LocalName == "Creator" && Reader.NamespaceURI == "" && !b13)
520 { 520 {
521 b13 = true; 521 b13 = true;
522 ob.@Creator = ReadObject_UUID(false, true); 522 ob.@Creator = ReadObject_UUID(false, true);
523 } 523 }
524 else if (Reader.LocalName == "Owner" && Reader.NamespaceURI == "" && !b12) 524 else if (Reader.LocalName == "Owner" && Reader.NamespaceURI == "" && !b12)
525 { 525 {
526 b12 = true; 526 b12 = true;
527 ob.@Owner = ReadObject_UUID(false, true); 527 ob.@Owner = ReadObject_UUID(false, true);
528 } 528 }
529 else if (Reader.LocalName == "SaleType" && Reader.NamespaceURI == "" && !b26) 529 else if (Reader.LocalName == "SaleType" && Reader.NamespaceURI == "" && !b26)
530 { 530 {
531 b26 = true; 531 b26 = true;
532 string s41 = Reader.ReadElementString(); 532 string s41 = Reader.ReadElementString();
533 ob.@SaleType = byte.Parse(s41, CultureInfo.InvariantCulture); 533 ob.@SaleType = byte.Parse(s41, CultureInfo.InvariantCulture);
534 } 534 }
535 else if (Reader.LocalName == "CurrentPermissions" && Reader.NamespaceURI == "" && !b17) 535 else if (Reader.LocalName == "CurrentPermissions" && Reader.NamespaceURI == "" && !b17)
536 { 536 {
537 b17 = true; 537 b17 = true;
538 string s42 = Reader.ReadElementString(); 538 string s42 = Reader.ReadElementString();
539 ob.@CurrentPermissions = UInt32.Parse(s42, CultureInfo.InvariantCulture); 539 ob.@CurrentPermissions = UInt32.Parse(s42, CultureInfo.InvariantCulture);
540 } 540 }
541 else 541 else
542 { 542 {
543 UnknownNode(ob); 543 UnknownNode(ob);
544 } 544 }
545 } 545 }
546 else 546 else
547 UnknownNode(ob); 547 UnknownNode(ob);
548 548
549 Reader.MoveToContent(); 549 Reader.MoveToContent();
550 } 550 }
551 551
552 ReadEndElement(); 552 ReadEndElement();
553 553
554 return ob; 554 return ob;
555 } 555 }
556 556
557 public InventoryCollection ReadObject_InventoryCollection(bool isNullable, bool checkType) 557 public InventoryCollection ReadObject_InventoryCollection(bool isNullable, bool checkType)
558 { 558 {
559 InventoryCollection ob = null; 559 InventoryCollection ob = null;
560 if (isNullable && ReadNull()) return null; 560 if (isNullable && ReadNull()) return null;
561 561
562 if (checkType) 562 if (checkType)
563 { 563 {
564 System.Xml.XmlQualifiedName t = GetXsiType(); 564 System.Xml.XmlQualifiedName t = GetXsiType();
565 if (t == null) 565 if (t == null)
566 { } 566 { }
567 else if (t.Name != "InventoryCollection" || t.Namespace != "") 567 else if (t.Name != "InventoryCollection" || t.Namespace != "")
568 throw CreateUnknownTypeException(t); 568 throw CreateUnknownTypeException(t);
569 } 569 }
570 570
571 ob = (InventoryCollection)Activator.CreateInstance(typeof(InventoryCollection), true); 571 ob = (InventoryCollection)Activator.CreateInstance(typeof(InventoryCollection), true);
572 572
573 Reader.MoveToElement(); 573 Reader.MoveToElement();
574 574
575 while (Reader.MoveToNextAttribute()) 575 while (Reader.MoveToNextAttribute())
576 { 576 {
577 if (IsXmlnsAttribute(Reader.Name)) 577 if (IsXmlnsAttribute(Reader.Name))
578 { 578 {
579 } 579 }
580 else 580 else
581 { 581 {
582 UnknownNode(ob); 582 UnknownNode(ob);
583 } 583 }
584 } 584 }
585 585
586 Reader.MoveToElement(); 586 Reader.MoveToElement();
587 Reader.MoveToElement(); 587 Reader.MoveToElement();
588 if (Reader.IsEmptyElement) 588 if (Reader.IsEmptyElement)
589 { 589 {
590 Reader.Skip(); 590 Reader.Skip();
591 if (ob.@Folders == null) 591 if (ob.@Folders == null)
592 { 592 {
593 ob.@Folders = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>(); 593 ob.@Folders = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>();
594 } 594 }
595 if (ob.@Items == null) 595 if (ob.@Items == null)
596 { 596 {
597 ob.@Items = new System.Collections.Generic.Dictionary<UUID, InventoryItem>(); 597 ob.@Items = new System.Collections.Generic.Dictionary<UUID, InventoryItem>();
598 } 598 }
599 return ob; 599 return ob;
600 } 600 }
601 601
602 Reader.ReadStartElement(); 602 Reader.ReadStartElement();
603 Reader.MoveToContent(); 603 Reader.MoveToContent();
604 604
605 bool b43 = false, b44 = false, b45 = false; 605 bool b43 = false, b44 = false, b45 = false;
606 606
607 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 607 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
608 { 608 {
609 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 609 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
610 { 610 {
611 if (Reader.LocalName == "UserID" && Reader.NamespaceURI == "" && !b45) 611 if (Reader.LocalName == "UserID" && Reader.NamespaceURI == "" && !b45)
612 { 612 {
613 b45 = true; 613 b45 = true;
614 ob.@UserID = ReadObject_UUID(false, true); 614 ob.@UserID = ReadObject_UUID(false, true);
615 } 615 }
616 else if (Reader.LocalName == "Items" && Reader.NamespaceURI == "" && !b44) 616 else if (Reader.LocalName == "Items" && Reader.NamespaceURI == "" && !b44)
617 { 617 {
618 System.Collections.Generic.Dictionary<UUID, InventoryItem> o46 = ob.@Items; 618 System.Collections.Generic.Dictionary<UUID, InventoryItem> o46 = ob.@Items;
619 if (((object)o46) == null) 619 if (((object)o46) == null)
620 { 620 {
621 o46 = new System.Collections.Generic.Dictionary<UUID, InventoryItem>(); 621 o46 = new System.Collections.Generic.Dictionary<UUID, InventoryItem>();
622 ob.@Items = o46; 622 ob.@Items = o46;
623 } 623 }
624 if (Reader.IsEmptyElement) 624 if (Reader.IsEmptyElement)
625 { 625 {
626 Reader.Skip(); 626 Reader.Skip();
627 } 627 }
628 else 628 else
629 { 629 {
630 int n47 = 0; 630 int n47 = 0;
631 Reader.ReadStartElement(); 631 Reader.ReadStartElement();
632 Reader.MoveToContent(); 632 Reader.MoveToContent();
633 633
634 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 634 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
635 { 635 {
636 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 636 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
637 { 637 {
638 if (Reader.LocalName == "InventoryItemBase" && Reader.NamespaceURI == "") 638 if (Reader.LocalName == "InventoryItemBase" && Reader.NamespaceURI == "")
639 { 639 {
640 if (((object)o46) == null) 640 if (((object)o46) == null)
641 throw CreateReadOnlyCollectionException("System.Collections.Generic.List<InventoryItemBase>"); 641 throw CreateReadOnlyCollectionException("System.Collections.Generic.List<InventoryItemBase>");
642 InventoryItem item = ReadObject_InventoryItem(true, true); 642 InventoryItem item = ReadObject_InventoryItem(true, true);
643 o46.Add(item.ID, item); 643 o46.Add(item.ID, item);
644 n47++; 644 n47++;
645 } 645 }
646 else UnknownNode(null); 646 else UnknownNode(null);
647 } 647 }
648 else UnknownNode(null); 648 else UnknownNode(null);
649 649
650 Reader.MoveToContent(); 650 Reader.MoveToContent();
651 } 651 }
652 ReadEndElement(); 652 ReadEndElement();
653 } 653 }
654 b44 = true; 654 b44 = true;
655 } 655 }
656 else if (Reader.LocalName == "Folders" && Reader.NamespaceURI == "" && !b43) 656 else if (Reader.LocalName == "Folders" && Reader.NamespaceURI == "" && !b43)
657 { 657 {
658 System.Collections.Generic.Dictionary<UUID, InventoryFolder> o48 = ob.@Folders; 658 System.Collections.Generic.Dictionary<UUID, InventoryFolder> o48 = ob.@Folders;
659 if (((object)o48) == null) 659 if (((object)o48) == null)
660 { 660 {
661 o48 = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>(); 661 o48 = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>();
662 ob.@Folders = o48; 662 ob.@Folders = o48;
663 } 663 }
664 if (Reader.IsEmptyElement) 664 if (Reader.IsEmptyElement)
665 { 665 {
666 Reader.Skip(); 666 Reader.Skip();
667 } 667 }
668 else 668 else
669 { 669 {
670 int n49 = 0; 670 int n49 = 0;
671 Reader.ReadStartElement(); 671 Reader.ReadStartElement();
672 Reader.MoveToContent(); 672 Reader.MoveToContent();
673 673
674 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 674 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
675 { 675 {
676 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 676 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
677 { 677 {
678 if (Reader.LocalName == "InventoryFolderBase" && Reader.NamespaceURI == "") 678 if (Reader.LocalName == "InventoryFolderBase" && Reader.NamespaceURI == "")
679 { 679 {
680 if (((object)o48) == null) 680 if (((object)o48) == null)
681 throw CreateReadOnlyCollectionException("System.Collections.Generic.List<InventoryFolderBase>"); 681 throw CreateReadOnlyCollectionException("System.Collections.Generic.List<InventoryFolderBase>");
682 InventoryFolder folder = ReadObject_InventoryFolder(true, true); 682 InventoryFolder folder = ReadObject_InventoryFolder(true, true);
683 o48.Add(folder.ID, folder); 683 o48.Add(folder.ID, folder);
684 n49++; 684 n49++;
685 } 685 }
686 else UnknownNode(null); 686 else UnknownNode(null);
687 } 687 }
688 else UnknownNode(null); 688 else UnknownNode(null);
689 689
690 Reader.MoveToContent(); 690 Reader.MoveToContent();
691 } 691 }
692 ReadEndElement(); 692 ReadEndElement();
693 } 693 }
694 b43 = true; 694 b43 = true;
695 } 695 }
696 else 696 else
697 { 697 {
698 UnknownNode(ob); 698 UnknownNode(ob);
699 } 699 }
700 } 700 }
701 else 701 else
702 UnknownNode(ob); 702 UnknownNode(ob);
703 703
704 Reader.MoveToContent(); 704 Reader.MoveToContent();
705 } 705 }
706 if (ob.@Folders == null) 706 if (ob.@Folders == null)
707 { 707 {
708 ob.@Folders = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>(); 708 ob.@Folders = new System.Collections.Generic.Dictionary<UUID, InventoryFolder>();
709 } 709 }
710 if (ob.@Items == null) 710 if (ob.@Items == null)
711 { 711 {
712 ob.@Items = new System.Collections.Generic.Dictionary<UUID, InventoryItem>(); 712 ob.@Items = new System.Collections.Generic.Dictionary<UUID, InventoryItem>();
713 } 713 }
714 714
715 ReadEndElement(); 715 ReadEndElement();
716 716
717 return ob; 717 return ob;
718 } 718 }
719 719
720 public OpenMetaverse.UUID ReadObject_UUID(bool isNullable, bool checkType) 720 public OpenMetaverse.UUID ReadObject_UUID(bool isNullable, bool checkType)
721 { 721 {
722 OpenMetaverse.UUID ob = (OpenMetaverse.UUID)Activator.CreateInstance(typeof(OpenMetaverse.UUID), true); 722 OpenMetaverse.UUID ob = (OpenMetaverse.UUID)Activator.CreateInstance(typeof(OpenMetaverse.UUID), true);
723 System.Xml.XmlQualifiedName t = GetXsiType(); 723 System.Xml.XmlQualifiedName t = GetXsiType();
724 if (t == null) 724 if (t == null)
725 { } 725 { }
726 else if (t.Name != "UUID" || t.Namespace != "") 726 else if (t.Name != "UUID" || t.Namespace != "")
727 throw CreateUnknownTypeException(t); 727 throw CreateUnknownTypeException(t);
728 728
729 Reader.MoveToElement(); 729 Reader.MoveToElement();
730 730
731 while (Reader.MoveToNextAttribute()) 731 while (Reader.MoveToNextAttribute())
732 { 732 {
733 if (IsXmlnsAttribute(Reader.Name)) 733 if (IsXmlnsAttribute(Reader.Name))
734 { 734 {
735 } 735 }
736 else 736 else
737 { 737 {
738 UnknownNode(ob); 738 UnknownNode(ob);
739 } 739 }
740 } 740 }
741 741
742 Reader.MoveToElement(); 742 Reader.MoveToElement();
743 Reader.MoveToElement(); 743 Reader.MoveToElement();
744 if (Reader.IsEmptyElement) 744 if (Reader.IsEmptyElement)
745 { 745 {
746 Reader.Skip(); 746 Reader.Skip();
747 return ob; 747 return ob;
748 } 748 }
749 749
750 Reader.ReadStartElement(); 750 Reader.ReadStartElement();
751 Reader.MoveToContent(); 751 Reader.MoveToContent();
752 752
753 bool b52 = false; 753 bool b52 = false;
754 754
755 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement) 755 while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
756 { 756 {
757 if (Reader.NodeType == System.Xml.XmlNodeType.Element) 757 if (Reader.NodeType == System.Xml.XmlNodeType.Element)
758 { 758 {
759 if (Reader.LocalName == "Guid" && Reader.NamespaceURI == "" && !b52) 759 if (Reader.LocalName == "Guid" && Reader.NamespaceURI == "" && !b52)
760 { 760 {
761 b52 = true; 761 b52 = true;
762 string s53 = Reader.ReadElementString(); 762 string s53 = Reader.ReadElementString();
763 ob.@Guid = XmlConvert.ToGuid(s53); 763 ob.@Guid = XmlConvert.ToGuid(s53);
764 } 764 }
765 else 765 else
766 { 766 {
767 UnknownNode(ob); 767 UnknownNode(ob);
768 } 768 }
769 } 769 }
770 else 770 else
771 UnknownNode(ob); 771 UnknownNode(ob);
772 772
773 Reader.MoveToContent(); 773 Reader.MoveToContent();
774 } 774 }
775 775
776 ReadEndElement(); 776 ReadEndElement();
777 777
778 return ob; 778 return ob;
779 } 779 }
780 780
781 protected override void InitCallbacks() 781 protected override void InitCallbacks()
782 { 782 {
783 } 783 }
784 784
785 protected override void InitIDs() 785 protected override void InitIDs()
786 { 786 {
787 } 787 }
788 } 788 }
789 789
790 public class GeneratedWriter : XmlSerializationWriter 790 public class GeneratedWriter : XmlSerializationWriter
791 { 791 {
792 const string xmlNamespace = "http://www.w3.org/2000/xmlns/"; 792 const string xmlNamespace = "http://www.w3.org/2000/xmlns/";
793 static readonly System.Reflection.MethodInfo toBinHexStringMethod = typeof(XmlConvert).GetMethod("ToBinHexString", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic, null, new Type[] { typeof(byte[]) }, null); 793 static readonly System.Reflection.MethodInfo toBinHexStringMethod = typeof(XmlConvert).GetMethod("ToBinHexString", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic, null, new Type[] { typeof(byte[]) }, null);
794 static string ToBinHexString(byte[] input) 794 static string ToBinHexString(byte[] input)
795 { 795 {
796 return input == null ? null : (string)toBinHexStringMethod.Invoke(null, new object[] { input }); 796 return input == null ? null : (string)toBinHexStringMethod.Invoke(null, new object[] { input });
797 } 797 }
798 public void WriteRoot_InventoryFolder(object o) 798 public void WriteRoot_InventoryFolder(object o)
799 { 799 {
800 WriteStartDocument(); 800 WriteStartDocument();
801 InventoryFolder ob = (InventoryFolder)o; 801 InventoryFolder ob = (InventoryFolder)o;
802 TopLevelElement(); 802 TopLevelElement();
803 WriteObject_InventoryFolder(ob, "InventoryFolderBase", "", true, false, true); 803 WriteObject_InventoryFolder(ob, "InventoryFolderBase", "", true, false, true);
804 } 804 }
805 805
806 public void WriteRoot_InventoryItem(object o) 806 public void WriteRoot_InventoryItem(object o)
807 { 807 {
808 WriteStartDocument(); 808 WriteStartDocument();
809 InventoryItem ob = (InventoryItem)o; 809 InventoryItem ob = (InventoryItem)o;
810 TopLevelElement(); 810 TopLevelElement();
811 WriteObject_InventoryItem(ob, "InventoryItemBase", "", true, false, true); 811 WriteObject_InventoryItem(ob, "InventoryItemBase", "", true, false, true);
812 } 812 }
813 813
814 public void WriteRoot_InventoryCollection(object o) 814 public void WriteRoot_InventoryCollection(object o)
815 { 815 {
816 WriteStartDocument(); 816 WriteStartDocument();
817 InventoryCollection ob = (InventoryCollection)o; 817 InventoryCollection ob = (InventoryCollection)o;
818 TopLevelElement(); 818 TopLevelElement();
819 WriteObject_InventoryCollection(ob, "InventoryCollection", "", true, false, true); 819 WriteObject_InventoryCollection(ob, "InventoryCollection", "", true, false, true);
820 } 820 }
821 821
822 void WriteObject_InventoryFolder(InventoryFolder ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem) 822 void WriteObject_InventoryFolder(InventoryFolder ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
823 { 823 {
824 if (((object)ob) == null) 824 if (((object)ob) == null)
825 { 825 {
826 if (isNullable) 826 if (isNullable)
827 WriteNullTagLiteral(element, namesp); 827 WriteNullTagLiteral(element, namesp);
828 return; 828 return;
829 } 829 }
830 830
831 System.Type type = ob.GetType(); 831 System.Type type = ob.GetType();
832 if (type == typeof(InventoryFolder)) 832 if (type == typeof(InventoryFolder))
833 { } 833 { }
834 else 834 else
835 { 835 {
836 throw CreateUnknownTypeException(ob); 836 throw CreateUnknownTypeException(ob);
837 } 837 }
838 838
839 if (writeWrappingElem) 839 if (writeWrappingElem)
840 { 840 {
841 WriteStartElement(element, namesp, ob); 841 WriteStartElement(element, namesp, ob);
842 } 842 }
843 843
844 if (needType) WriteXsiType("InventoryFolderBase", ""); 844 if (needType) WriteXsiType("InventoryFolderBase", "");
845 845
846 WriteElementString("Name", "", ob.@Name); 846 WriteElementString("Name", "", ob.@Name);
847 WriteObject_UUID(ob.@Owner, "Owner", "", false, false, true); 847 WriteObject_UUID(ob.@Owner, "Owner", "", false, false, true);
848 WriteObject_UUID(ob.@ParentID, "ParentID", "", false, false, true); 848 WriteObject_UUID(ob.@ParentID, "ParentID", "", false, false, true);
849 WriteObject_UUID(ob.@ID, "ID", "", false, false, true); 849 WriteObject_UUID(ob.@ID, "ID", "", false, false, true);
850 WriteElementString("Type", "", ob.@Type.ToString(CultureInfo.InvariantCulture)); 850 WriteElementString("Type", "", ob.@Type.ToString(CultureInfo.InvariantCulture));
851 WriteElementString("Version", "", ob.@Version.ToString(CultureInfo.InvariantCulture)); 851 WriteElementString("Version", "", ob.@Version.ToString(CultureInfo.InvariantCulture));
852 if (writeWrappingElem) WriteEndElement(ob); 852 if (writeWrappingElem) WriteEndElement(ob);
853 } 853 }
854 854
855 void WriteObject_InventoryItem(InventoryItem ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem) 855 void WriteObject_InventoryItem(InventoryItem ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
856 { 856 {
857 if (((object)ob) == null) 857 if (((object)ob) == null)
858 { 858 {
859 if (isNullable) 859 if (isNullable)
860 WriteNullTagLiteral(element, namesp); 860 WriteNullTagLiteral(element, namesp);
861 return; 861 return;
862 } 862 }
863 863
864 System.Type type = ob.GetType(); 864 System.Type type = ob.GetType();
865 if (type == typeof(InventoryItem)) 865 if (type == typeof(InventoryItem))
866 { } 866 { }
867 else 867 else
868 { 868 {
869 throw CreateUnknownTypeException(ob); 869 throw CreateUnknownTypeException(ob);
870 } 870 }
871 871
872 if (writeWrappingElem) 872 if (writeWrappingElem)
873 { 873 {
874 WriteStartElement(element, namesp, ob); 874 WriteStartElement(element, namesp, ob);
875 } 875 }
876 876
877 if (needType) WriteXsiType("InventoryItemBase", ""); 877 if (needType) WriteXsiType("InventoryItemBase", "");
878 878
879 WriteObject_UUID(ob.@ID, "ID", "", false, false, true); 879 WriteObject_UUID(ob.@ID, "ID", "", false, false, true);
880 WriteElementString("InvType", "", ob.@InvType.ToString(CultureInfo.InvariantCulture)); 880 WriteElementString("InvType", "", ob.@InvType.ToString(CultureInfo.InvariantCulture));
881 WriteObject_UUID(ob.@Folder, "Folder", "", false, false, true); 881 WriteObject_UUID(ob.@Folder, "Folder", "", false, false, true);
882 WriteObject_UUID(ob.@Owner, "Owner", "", false, false, true); 882 WriteObject_UUID(ob.@Owner, "Owner", "", false, false, true);
883 WriteObject_UUID(ob.@Creator, "Creator", "", false, false, true); 883 WriteObject_UUID(ob.@Creator, "Creator", "", false, false, true);
884 WriteElementString("Name", "", ob.@Name); 884 WriteElementString("Name", "", ob.@Name);
885 WriteElementString("Description", "", ob.@Description); 885 WriteElementString("Description", "", ob.@Description);
886 WriteElementString("NextPermissions", "", ob.@NextPermissions.ToString(CultureInfo.InvariantCulture)); 886 WriteElementString("NextPermissions", "", ob.@NextPermissions.ToString(CultureInfo.InvariantCulture));
887 WriteElementString("CurrentPermissions", "", ob.@CurrentPermissions.ToString(CultureInfo.InvariantCulture)); 887 WriteElementString("CurrentPermissions", "", ob.@CurrentPermissions.ToString(CultureInfo.InvariantCulture));
888 WriteElementString("BasePermissions", "", ob.@BasePermissions.ToString(CultureInfo.InvariantCulture)); 888 WriteElementString("BasePermissions", "", ob.@BasePermissions.ToString(CultureInfo.InvariantCulture));
889 WriteElementString("EveryOnePermissions", "", ob.@EveryOnePermissions.ToString(CultureInfo.InvariantCulture)); 889 WriteElementString("EveryOnePermissions", "", ob.@EveryOnePermissions.ToString(CultureInfo.InvariantCulture));
890 WriteElementString("GroupPermissions", "", ob.@GroupPermissions.ToString(CultureInfo.InvariantCulture)); 890 WriteElementString("GroupPermissions", "", ob.@GroupPermissions.ToString(CultureInfo.InvariantCulture));
891 WriteElementString("AssetType", "", ob.@AssetType.ToString(CultureInfo.InvariantCulture)); 891 WriteElementString("AssetType", "", ob.@AssetType.ToString(CultureInfo.InvariantCulture));
892 WriteObject_UUID(ob.@AssetID, "AssetID", "", false, false, true); 892 WriteObject_UUID(ob.@AssetID, "AssetID", "", false, false, true);
893 WriteObject_UUID(ob.@GroupID, "GroupID", "", false, false, true); 893 WriteObject_UUID(ob.@GroupID, "GroupID", "", false, false, true);
894 WriteElementString("GroupOwned", "", (ob.@GroupOwned ? "true" : "false")); 894 WriteElementString("GroupOwned", "", (ob.@GroupOwned ? "true" : "false"));
895 WriteElementString("SalePrice", "", ob.@SalePrice.ToString(CultureInfo.InvariantCulture)); 895 WriteElementString("SalePrice", "", ob.@SalePrice.ToString(CultureInfo.InvariantCulture));
896 WriteElementString("SaleType", "", ob.@SaleType.ToString(CultureInfo.InvariantCulture)); 896 WriteElementString("SaleType", "", ob.@SaleType.ToString(CultureInfo.InvariantCulture));
897 WriteElementString("Flags", "", ob.@Flags.ToString(CultureInfo.InvariantCulture)); 897 WriteElementString("Flags", "", ob.@Flags.ToString(CultureInfo.InvariantCulture));
898 WriteElementString("CreationDate", "", ob.@CreationDate.ToString(CultureInfo.InvariantCulture)); 898 WriteElementString("CreationDate", "", ob.@CreationDate.ToString(CultureInfo.InvariantCulture));
899 if (writeWrappingElem) WriteEndElement(ob); 899 if (writeWrappingElem) WriteEndElement(ob);
900 } 900 }
901 901
902 void WriteObject_InventoryCollection(InventoryCollection ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem) 902 void WriteObject_InventoryCollection(InventoryCollection ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
903 { 903 {
904 if (((object)ob) == null) 904 if (((object)ob) == null)
905 { 905 {
906 if (isNullable) 906 if (isNullable)
907 WriteNullTagLiteral(element, namesp); 907 WriteNullTagLiteral(element, namesp);
908 return; 908 return;
909 } 909 }
910 910
911 System.Type type = ob.GetType(); 911 System.Type type = ob.GetType();
912 if (type == typeof(InventoryCollection)) 912 if (type == typeof(InventoryCollection))
913 { } 913 { }
914 else 914 else
915 { 915 {
916 throw CreateUnknownTypeException(ob); 916 throw CreateUnknownTypeException(ob);
917 } 917 }
918 918
919 if (writeWrappingElem) 919 if (writeWrappingElem)
920 { 920 {
921 WriteStartElement(element, namesp, ob); 921 WriteStartElement(element, namesp, ob);
922 } 922 }
923 923
924 if (needType) WriteXsiType("InventoryCollection", ""); 924 if (needType) WriteXsiType("InventoryCollection", "");
925 925
926 if (ob.@Folders != null) 926 if (ob.@Folders != null)
927 { 927 {
928 WriteStartElement("Folders", "", ob.@Folders); 928 WriteStartElement("Folders", "", ob.@Folders);
929 foreach (InventoryFolder folder in ob.Folders.Values) 929 foreach (InventoryFolder folder in ob.Folders.Values)
930 { 930 {
931 WriteObject_InventoryFolder(folder, "InventoryFolderBase", "", true, false, true); 931 WriteObject_InventoryFolder(folder, "InventoryFolderBase", "", true, false, true);
932 } 932 }
933 WriteEndElement(ob.@Folders); 933 WriteEndElement(ob.@Folders);
934 } 934 }
935 if (ob.@Items != null) 935 if (ob.@Items != null)
936 { 936 {
937 WriteStartElement("Items", "", ob.@Items); 937 WriteStartElement("Items", "", ob.@Items);
938 foreach (InventoryItem item in ob.Items.Values) 938 foreach (InventoryItem item in ob.Items.Values)
939 { 939 {
940 WriteObject_InventoryItem(item, "InventoryItemBase", "", true, false, true); 940 WriteObject_InventoryItem(item, "InventoryItemBase", "", true, false, true);
941 } 941 }
942 WriteEndElement(ob.@Items); 942 WriteEndElement(ob.@Items);
943 } 943 }
944 WriteObject_UUID(ob.@UserID, "UserID", "", false, false, true); 944 WriteObject_UUID(ob.@UserID, "UserID", "", false, false, true);
945 if (writeWrappingElem) WriteEndElement(ob); 945 if (writeWrappingElem) WriteEndElement(ob);
946 } 946 }
947 947
948 void WriteObject_UUID(OpenMetaverse.UUID ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem) 948 void WriteObject_UUID(OpenMetaverse.UUID ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
949 { 949 {
950 System.Type type = ob.GetType(); 950 System.Type type = ob.GetType();
951 if (type == typeof(OpenMetaverse.UUID)) 951 if (type == typeof(OpenMetaverse.UUID))
952 { } 952 { }
953 else 953 else
954 { 954 {
955 throw CreateUnknownTypeException(ob); 955 throw CreateUnknownTypeException(ob);
956 } 956 }
957 957
958 if (writeWrappingElem) 958 if (writeWrappingElem)
959 { 959 {
960 WriteStartElement(element, namesp, ob); 960 WriteStartElement(element, namesp, ob);
961 } 961 }
962 962
963 if (needType) WriteXsiType("UUID", ""); 963 if (needType) WriteXsiType("UUID", "");
964 964
965 WriteElementString("Guid", "", XmlConvert.ToString(ob.@Guid)); 965 WriteElementString("Guid", "", XmlConvert.ToString(ob.@Guid));
966 if (writeWrappingElem) WriteEndElement(ob); 966 if (writeWrappingElem) WriteEndElement(ob);
967 } 967 }
968 968
969 protected override void InitCallbacks() 969 protected override void InitCallbacks()
970 { 970 {
971 } 971 }
972 972
973 } 973 }
974 974
975 public class BaseXmlSerializer : System.Xml.Serialization.XmlSerializer 975 public class BaseXmlSerializer : System.Xml.Serialization.XmlSerializer
976 { 976 {
977 protected override System.Xml.Serialization.XmlSerializationReader CreateReader() 977 protected override System.Xml.Serialization.XmlSerializationReader CreateReader()
978 { 978 {
979 return new GeneratedReader(); 979 return new GeneratedReader();
980 } 980 }
981 981
982 protected override System.Xml.Serialization.XmlSerializationWriter CreateWriter() 982 protected override System.Xml.Serialization.XmlSerializationWriter CreateWriter()
983 { 983 {
984 return new GeneratedWriter(); 984 return new GeneratedWriter();
985 } 985 }
986 986
987 public override bool CanDeserialize(System.Xml.XmlReader xmlReader) 987 public override bool CanDeserialize(System.Xml.XmlReader xmlReader)
988 { 988 {
989 return true; 989 return true;
990 } 990 }
991 } 991 }
992 992
993 public sealed class InventoryFolderSerializer : BaseXmlSerializer 993 public sealed class InventoryFolderSerializer : BaseXmlSerializer
994 { 994 {
995 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer) 995 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer)
996 { 996 {
997 ((GeneratedWriter)writer).WriteRoot_InventoryFolder(obj); 997 ((GeneratedWriter)writer).WriteRoot_InventoryFolder(obj);
998 } 998 }
999 999
1000 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) 1000 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
1001 { 1001 {
1002 return ((GeneratedReader)reader).ReadRoot_InventoryFolderBase(); 1002 return ((GeneratedReader)reader).ReadRoot_InventoryFolderBase();
1003 } 1003 }
1004 } 1004 }
1005 1005
1006 public sealed class InventoryItemSerializer : BaseXmlSerializer 1006 public sealed class InventoryItemSerializer : BaseXmlSerializer
1007 { 1007 {
1008 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer) 1008 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer)
1009 { 1009 {
1010 ((GeneratedWriter)writer).WriteRoot_InventoryItem(obj); 1010 ((GeneratedWriter)writer).WriteRoot_InventoryItem(obj);
1011 } 1011 }
1012 1012
1013 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) 1013 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
1014 { 1014 {
1015 return ((GeneratedReader)reader).ReadRoot_InventoryItemBase(); 1015 return ((GeneratedReader)reader).ReadRoot_InventoryItemBase();
1016 } 1016 }
1017 } 1017 }
1018 1018
1019 public sealed class InventoryCollectionSerializer : BaseXmlSerializer 1019 public sealed class InventoryCollectionSerializer : BaseXmlSerializer
1020 { 1020 {
1021 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer) 1021 protected override void Serialize(object obj, System.Xml.Serialization.XmlSerializationWriter writer)
1022 { 1022 {
1023 ((GeneratedWriter)writer).WriteRoot_InventoryCollection(obj); 1023 ((GeneratedWriter)writer).WriteRoot_InventoryCollection(obj);
1024 } 1024 }
1025 1025
1026 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader) 1026 protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
1027 { 1027 {
1028 return ((GeneratedReader)reader).ReadRoot_InventoryCollection(); 1028 return ((GeneratedReader)reader).ReadRoot_InventoryCollection();
1029 } 1029 }
1030 } 1030 }
1031 1031
1032 #endregion XML Serialization 1032 #endregion XML Serialization
1033 } 1033 }
1034} 1034}