aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/Client/IClientInventory.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs48
2 files changed, 50 insertions, 0 deletions
diff --git a/OpenSim/Framework/Client/IClientInventory.cs b/OpenSim/Framework/Client/IClientInventory.cs
index d59f8b7..a6e0510 100644
--- a/OpenSim/Framework/Client/IClientInventory.cs
+++ b/OpenSim/Framework/Client/IClientInventory.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using OpenMetaverse; 29using OpenMetaverse;
30using OpenSim.Framework;
30 31
31namespace OpenSim.Framework.Client 32namespace OpenSim.Framework.Client
32{ 33{
@@ -34,5 +35,6 @@ namespace OpenSim.Framework.Client
34 { 35 {
35 void SendRemoveInventoryFolders(UUID[] folders); 36 void SendRemoveInventoryFolders(UUID[] folders);
36 void SendRemoveInventoryItems(UUID[] folders); 37 void SendRemoveInventoryItems(UUID[] folders);
38 void SendBulkUpdateInventory(InventoryFolderBase[] folders, InventoryItemBase[] items);
37 } 39 }
38} 40}
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 0c1d7f2..cd81df5 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -12339,5 +12339,53 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12339 eq.Enqueue(BuildEvent("RemoveInventoryFolder", 12339 eq.Enqueue(BuildEvent("RemoveInventoryFolder",
12340 llsd), AgentId); 12340 llsd), AgentId);
12341 } 12341 }
12342
12343 public void SendBulkUpdateInventory(InventoryFolderBase[] folders, InventoryItemBase[] items)
12344 {
12345 IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>();
12346
12347 if (eq == null)
12348 {
12349 m_log.DebugFormat("[LLCLIENT]: Null event queue");
12350 return;
12351 }
12352
12353 OSDMap llsd = new OSDMap(3);
12354
12355 OSDMap AgentDataMap = new OSDMap(1);
12356 AgentDataMap.Add("AgentID", OSD.FromUUID(AgentId));
12357 AgentDataMap.Add("SessionID", OSD.FromUUID(SessionId));
12358
12359 OSDArray AgentData = new OSDArray(1);
12360 AgentData.Add(AgentDataMap);
12361
12362 llsd.Add("AgentData", AgentData);
12363
12364 OSDArray FolderData = new OSDArray();
12365
12366 foreach (InventoryFolderBase folder in folders)
12367 {
12368 OSDMap FolderDataMap = new OSDMap(5);
12369 FolderDataMap.Add("FolderID", OSD.FromUUID(folder.ID));
12370 FolderDataMap.Add("AgentID", OSD.FromUUID(AgentId));
12371 FolderDataMap.Add("ParentID", OSD.FromUUID(folder.ParentID));
12372 FolderDataMap.Add("Type", OSD.FromInteger(folder.Type));
12373 FolderDataMap.Add("Name", OSD.FromString(folder.Name));
12374
12375 FolderData.Add(FolderDataMap);
12376 }
12377
12378 llsd.Add("FolderData", FolderData);
12379
12380 OSDArray ItemData = new OSDArray();
12381
12382 foreach (InventoryItemBase item in items)
12383 {
12384 OSDMap ItemDataMap = new OSDMap();
12385 ItemData.Add(ItemDataMap);
12386 }
12387
12388 llsd.Add("ItemData", ItemData);
12389 }
12342 } 12390 }
12343} 12391}