From 1ac57290ae0fd962f0af28cc9b84405162a99799 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Sat, 22 Dec 2007 02:52:35 +0000 Subject: Initial hookup of update task inventory event. No functionality yet. --- OpenSim/Region/ClientStack/ClientView.cs | 1 - .../Region/Environment/Scenes/Scene.Inventory.cs | 53 +++++++++++++++++++++- OpenSim/Region/Environment/Scenes/Scene.cs | 4 +- 3 files changed, 54 insertions(+), 4 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index dba3682..86591ec 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -3043,7 +3043,6 @@ namespace OpenSim.Region.ClientStack } break; case PacketType.UpdateTaskInventory: - //Console.WriteLine(Pack.ToString()); UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket) Pack; if (OnUpdateTaskInventory != null) { diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 753d0cf..ceaadc2 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs @@ -357,7 +357,7 @@ namespace OpenSim.Region.Environment.Scenes } /// - /// + /// Request a prim (task) inventory /// /// /// @@ -375,8 +375,19 @@ namespace OpenSim.Region.Environment.Scenes } } } + else + { + MainLog.Instance.Warn( + "PRIMINVENTORY", "Inventory requested of prim {0} which doesn't exist", primLocalID); + } } + /// + /// Remove an item from a prim (task) inventory + /// + /// + /// + /// public void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID) { SceneObjectGroup group = GetGroupByPrim(localID); @@ -389,6 +400,44 @@ namespace OpenSim.Region.Environment.Scenes EventManager.TriggerRemoveScript(localID, itemID); } } + else + { + MainLog.Instance.Warn( + "PRIMINVENTORY", + "Removal of item {0} requested of prim {1} but this prim does not exist", + itemID, + localID); + } + } + + /// + /// Update an item in a prim (task) inventory + /// + /// + /// + /// + /// + public void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, + uint primLocalID) + { + SceneObjectGroup group = GetGroupByPrim(primLocalID); + if (group != null) + { + // TODO Retrieve itemID from client's inventory to pass on + //group.AddInventoryItem(rmoteClient, primLocalID, null); + MainLog.Instance.Verbose( + "PRIMINVENTORY", + "UpdateTaskInventory called with item {0}, folder {1}, primLocalID {2}", + itemID, folderID, primLocalID); + } + else + { + MainLog.Instance.Warn( + "PRIMINVENTORY", + "Update with item {0} requested of prim {1} but this prim does not exist", + itemID, + primLocalID); + } } public void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID) @@ -430,7 +479,7 @@ namespace OpenSim.Region.Environment.Scenes if (group != null) { // TODO: do we care about the value of this bool? - bool added = group.AddInventoryItem(remoteClient, localID, item, copyID); + group.AddInventoryItem(remoteClient, localID, item, copyID); group.GetProperites(remoteClient); } } diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index c4b409f..79803a5 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -1149,7 +1149,6 @@ namespace OpenSim.Region.Environment.Scenes client.OnMoveInventoryFolder += CommsManager.UserProfileCacheService.HandleMoveInventoryFolder; client.OnFetchInventoryDescendents += CommsManager.UserProfileCacheService.HandleFetchInventoryDescendents; client.OnPurgeInventoryDescendents += CommsManager.UserProfileCacheService.HandlePurgeInventoryDescendents; - client.OnRequestTaskInventory += RequestTaskInventory; client.OnFetchInventory += CommsManager.UserProfileCacheService.HandleFetchInventory; client.OnUpdateInventoryItem += UpdateInventoryItemAsset; client.OnCopyInventoryItem += CopyInventoryItem; @@ -1157,7 +1156,10 @@ namespace OpenSim.Region.Environment.Scenes client.OnAssetUploadRequest += CommsManager.TransactionsManager.HandleUDPUploadRequest; client.OnXferReceive += CommsManager.TransactionsManager.HandleXfer; client.OnRezScript += RezScript; + + client.OnRequestTaskInventory += RequestTaskInventory; client.OnRemoveTaskItem += RemoveTaskInventory; + client.OnUpdateTaskInventory += UpdateTaskInventory; client.OnGrabObject += ProcessObjectGrab; client.OnAvatarPickerRequest += ProcessAvatarPickerRequest; -- cgit v1.1