diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index dd18b16..598bce7 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -12498,5 +12498,53 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
12498 | eq.Enqueue(BuildEvent("RemoveInventoryFolder", | 12498 | eq.Enqueue(BuildEvent("RemoveInventoryFolder", |
12499 | llsd), AgentId); | 12499 | llsd), AgentId); |
12500 | } | 12500 | } |
12501 | |||
12502 | public void SendBulkUpdateInventory(InventoryFolderBase[] folders, InventoryItemBase[] items) | ||
12503 | { | ||
12504 | IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>(); | ||
12505 | |||
12506 | if (eq == null) | ||
12507 | { | ||
12508 | m_log.DebugFormat("[LLCLIENT]: Null event queue"); | ||
12509 | return; | ||
12510 | } | ||
12511 | |||
12512 | OSDMap llsd = new OSDMap(3); | ||
12513 | |||
12514 | OSDMap AgentDataMap = new OSDMap(1); | ||
12515 | AgentDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12516 | AgentDataMap.Add("SessionID", OSD.FromUUID(SessionId)); | ||
12517 | |||
12518 | OSDArray AgentData = new OSDArray(1); | ||
12519 | AgentData.Add(AgentDataMap); | ||
12520 | |||
12521 | llsd.Add("AgentData", AgentData); | ||
12522 | |||
12523 | OSDArray FolderData = new OSDArray(); | ||
12524 | |||
12525 | foreach (UUID InventoryFolderBase in folders) | ||
12526 | { | ||
12527 | OSDMap FolderDataMap = new OSDMap(5); | ||
12528 | FolderDataMap.Add("FolderID", OSD.FromUUID(folder.ID)); | ||
12529 | FolderDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12530 | FolderDataMap.Add("ParentID", OSD.FromUUID(folder.ParentID)); | ||
12531 | FolderDataMap.Add("Type", OSD.FromInteger(folder.Type)); | ||
12532 | FolderDataMap.Add("Name", OSD.FromString(folder.Name)); | ||
12533 | |||
12534 | FolderData.Add(FolderDataMap); | ||
12535 | } | ||
12536 | |||
12537 | llsd.Add("FolderData", FolderData); | ||
12538 | |||
12539 | OSDArray ItemData = new OSDArray(); | ||
12540 | |||
12541 | foreach (UUID InventoryItemBase in items) | ||
12542 | { | ||
12543 | OSDMap ItemDataMap = new OSDMap(); | ||
12544 | ItemData.Add(DataMap); | ||
12545 | } | ||
12546 | |||
12547 | llsd.Add("ItemData", ItemData); | ||
12548 | } | ||
12501 | } | 12549 | } |
12502 | } | 12550 | } |