aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMW2008-03-28 14:47:51 +0000
committerMW2008-03-28 14:47:51 +0000
commit830626999c08f959bf1434939298b7a453a4f548 (patch)
treeb50bd83584ef9de50a6812ca6545eeda88f31dcd /OpenSim
parent* ignored some files (diff)
downloadopensim-SC-830626999c08f959bf1434939298b7a453a4f548.zip
opensim-SC-830626999c08f959bf1434939298b7a453a4f548.tar.gz
opensim-SC-830626999c08f959bf1434939298b7a453a4f548.tar.bz2
opensim-SC-830626999c08f959bf1434939298b7a453a4f548.tar.xz
Applied patch from mantis# 825, thanks A_Biondi
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/Communications/LoginResponse.cs39
1 files changed, 26 insertions, 13 deletions
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs
index 4a31986..763274a 100644
--- a/OpenSim/Framework/Communications/LoginResponse.cs
+++ b/OpenSim/Framework/Communications/LoginResponse.cs
@@ -416,12 +416,9 @@ namespace OpenSim.Framework.UserManagement
416 416
417 map["seed_capability"] = LLSD.FromString(seedCapability); 417 map["seed_capability"] = LLSD.FromString(seedCapability);
418 418
419 // FIXME: Need a function that will convert these ArrayLists in to LLSDArrays, 419 map["event_categories"] = ArrayListToLLSDArray(eventCategories);
420 // and convert the data inside them to LLSD objects as well
421
422 //map["event_categories"] = eventCategories;
423 //map["event_notifications"] = new LLSDArray(); // todo 420 //map["event_notifications"] = new LLSDArray(); // todo
424 //map["classified_categories"] = classifiedCategories; 421 map["classified_categories"] = ArrayListToLLSDArray(classifiedCategories);
425 422
426 #region UI Config 423 #region UI Config
427 424
@@ -433,18 +430,19 @@ namespace OpenSim.Framework.UserManagement
433 430
434 #region Inventory 431 #region Inventory
435 432
436 //map["inventory-skeleton"] = agentInventory; 433 map["inventory-skeleton"] = ArrayListToLLSDArray(agentInventory);
437 //map["inventory-skel-lib"] = inventoryLibrary; 434
438 //map["inventory-root"] = inventoryRoot; 435 map["inventory-skel-lib"] = ArrayListToLLSDArray(inventoryLibrary);
439 //map["inventory-lib-root"] = inventoryLibRoot; 436 map["inventory-root"] = ArrayListToLLSDArray(inventoryRoot); ;
440 //map["inventory-lib-owner"] = inventoryLibraryOwner; 437 map["inventory-lib-root"] = ArrayListToLLSDArray(inventoryLibRoot);
438 map["inventory-lib-owner"] = ArrayListToLLSDArray(inventoryLibraryOwner);
441 439
442 #endregion Inventory 440 #endregion Inventory
443 441
444 map["gestures"] = new LLSDArray(); // todo 442 map["gestures"] = new LLSDArray(); // todo
445 443
446 //responseData["initial-outfit"] = initialOutfit; 444 map["initial-outfit"] = ArrayListToLLSDArray(initialOutfit);
447 //responseData["start_location"] = startLocation; 445 map["start_location"] = LLSD.FromString(startLocation);
448 446
449 map["seed_capability"] = LLSD.FromString(seedCapability); 447 map["seed_capability"] = LLSD.FromString(seedCapability);
450 map["home"] = LLSD.FromString(home); 448 map["home"] = LLSD.FromString(home);
@@ -455,7 +453,7 @@ namespace OpenSim.Framework.UserManagement
455 453
456 if (m_buddyList != null) 454 if (m_buddyList != null)
457 { 455 {
458 //map["buddy-list"] = m_buddyList.ToArray(); 456 map["buddy-list"] = ArrayListToLLSDArray(m_buddyList.ToArray());
459 } 457 }
460 458
461 map["login"] = LLSD.FromString("true"); 459 map["login"] = LLSD.FromString("true");
@@ -470,6 +468,21 @@ namespace OpenSim.Framework.UserManagement
470 } 468 }
471 } 469 }
472 470
471 public LLSDArray ArrayListToLLSDArray(ArrayList arrlst)
472 {
473 LLSDArray llsdBack = new LLSDArray();
474 foreach (Hashtable ht in arrlst)
475 {
476 LLSDMap mp = new LLSDMap();
477 foreach (DictionaryEntry deHt in ht)
478 {
479 mp.Add((string)deHt.Key, LLSDString.FromObject(deHt.Value));
480 }
481 llsdBack.Add(mp);
482 }
483 return llsdBack;
484 }
485
473 private LLSDArray WrapLLSDMap(LLSDMap wrapMe) 486 private LLSDArray WrapLLSDMap(LLSDMap wrapMe)
474 { 487 {
475 LLSDArray array = new LLSDArray(); 488 LLSDArray array = new LLSDArray();