diff options
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r-- | OpenSim/Framework/Communications/LoginResponse.cs | 39 |
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(); |