Applied patch from mantis# 825, thanks A_Biondi

0.6.0-stable
MW 2008-03-28 14:47:51 +00:00
parent cc0d0f1590
commit 830626999c
1 changed files with 26 additions and 13 deletions

View File

@ -416,12 +416,9 @@ namespace OpenSim.Framework.UserManagement
map["seed_capability"] = LLSD.FromString(seedCapability); map["seed_capability"] = LLSD.FromString(seedCapability);
// FIXME: Need a function that will convert these ArrayLists in to LLSDArrays, map["event_categories"] = ArrayListToLLSDArray(eventCategories);
// and convert the data inside them to LLSD objects as well
//map["event_categories"] = eventCategories;
//map["event_notifications"] = new LLSDArray(); // todo //map["event_notifications"] = new LLSDArray(); // todo
//map["classified_categories"] = classifiedCategories; map["classified_categories"] = ArrayListToLLSDArray(classifiedCategories);
#region UI Config #region UI Config
@ -433,18 +430,19 @@ namespace OpenSim.Framework.UserManagement
#region Inventory #region Inventory
//map["inventory-skeleton"] = agentInventory; map["inventory-skeleton"] = ArrayListToLLSDArray(agentInventory);
//map["inventory-skel-lib"] = inventoryLibrary;
//map["inventory-root"] = inventoryRoot; map["inventory-skel-lib"] = ArrayListToLLSDArray(inventoryLibrary);
//map["inventory-lib-root"] = inventoryLibRoot; map["inventory-root"] = ArrayListToLLSDArray(inventoryRoot); ;
//map["inventory-lib-owner"] = inventoryLibraryOwner; map["inventory-lib-root"] = ArrayListToLLSDArray(inventoryLibRoot);
map["inventory-lib-owner"] = ArrayListToLLSDArray(inventoryLibraryOwner);
#endregion Inventory #endregion Inventory
map["gestures"] = new LLSDArray(); // todo map["gestures"] = new LLSDArray(); // todo
//responseData["initial-outfit"] = initialOutfit; map["initial-outfit"] = ArrayListToLLSDArray(initialOutfit);
//responseData["start_location"] = startLocation; map["start_location"] = LLSD.FromString(startLocation);
map["seed_capability"] = LLSD.FromString(seedCapability); map["seed_capability"] = LLSD.FromString(seedCapability);
map["home"] = LLSD.FromString(home); map["home"] = LLSD.FromString(home);
@ -455,7 +453,7 @@ namespace OpenSim.Framework.UserManagement
if (m_buddyList != null) if (m_buddyList != null)
{ {
//map["buddy-list"] = m_buddyList.ToArray(); map["buddy-list"] = ArrayListToLLSDArray(m_buddyList.ToArray());
} }
map["login"] = LLSD.FromString("true"); map["login"] = LLSD.FromString("true");
@ -470,6 +468,21 @@ namespace OpenSim.Framework.UserManagement
} }
} }
public LLSDArray ArrayListToLLSDArray(ArrayList arrlst)
{
LLSDArray llsdBack = new LLSDArray();
foreach (Hashtable ht in arrlst)
{
LLSDMap mp = new LLSDMap();
foreach (DictionaryEntry deHt in ht)
{
mp.Add((string)deHt.Key, LLSDString.FromObject(deHt.Value));
}
llsdBack.Add(mp);
}
return llsdBack;
}
private LLSDArray WrapLLSDMap(LLSDMap wrapMe) private LLSDArray WrapLLSDMap(LLSDMap wrapMe)
{ {
LLSDArray array = new LLSDArray(); LLSDArray array = new LLSDArray();