From 71114d4ad1c4aacbfedea9f4ab5307162ae5d9e0 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 18 Apr 2011 21:34:26 +0100
Subject: refactor: rename DeleteToInventory() to CopyToInventory()

DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
---
 .../Framework/InventoryAccess/InventoryAccessModule.cs |  2 +-
 .../Framework/Interfaces/IInventoryAccessModule.cs     | 18 +++++++++++++++++-
 .../Framework/Scenes/AsyncSceneObjectGroupDeleter.cs   |  3 ++-
 3 files changed, 20 insertions(+), 3 deletions(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 326ef28..666f353 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -222,7 +222,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
         /// <param name="folderID"></param>
         /// <param name="objectGroup"></param>
         /// <param name="remoteClient"> </param>
-        public virtual UUID DeleteToInventory(DeRezAction action, UUID folderID,
+        public virtual UUID CopyToInventory(DeRezAction action, UUID folderID,
                 List<SceneObjectGroup> objectGroups, IClientAPI remoteClient)
         {
             Dictionary<UUID, List<SceneObjectGroup>> deletes = new Dictionary<UUID, List<SceneObjectGroup>>();
diff --git a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
index 05fc2ad..305975e 100644
--- a/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IInventoryAccessModule.cs
@@ -38,7 +38,23 @@ namespace OpenSim.Region.Framework.Interfaces
     public interface IInventoryAccessModule
     {
         UUID CapsUpdateInventoryItemAsset(IClientAPI remoteClient, UUID itemID, byte[] data);
-        UUID DeleteToInventory(DeRezAction action, UUID folderID, List<SceneObjectGroup> objectGroups, IClientAPI remoteClient);
+        
+        /// <summary>
+        /// Copy objects to a user's inventory.
+        /// </summary>
+        /// <remarks>
+        /// Is it left to the caller to delete them from the scene if required.
+        /// </remarks>
+        /// <param name="action"></param>
+        /// <param name="folderID"></param>
+        /// <param name="objectGroups"></param>
+        /// <param name="remoteClient"></param>
+        /// <returns>
+        /// Returns the UUID of the newly created item asset (not the item itself).
+        /// FIXME: This is not very useful.  It would be far more useful to return a list of items instead.
+        /// </returns>
+        UUID CopyToInventory(DeRezAction action, UUID folderID, List<SceneObjectGroup> objectGroups, IClientAPI remoteClient);
+        
         SceneObjectGroup RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
                                     UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
                                     bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
diff --git a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
index 8feb022..3423542 100644
--- a/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
+++ b/OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
@@ -143,7 +143,8 @@ namespace OpenSim.Region.Framework.Scenes
                         {
                             IInventoryAccessModule invAccess = m_scene.RequestModuleInterface<IInventoryAccessModule>();
                             if (invAccess != null)
-                                invAccess.DeleteToInventory(x.action, x.folderID, x.objectGroups, x.remoteClient);
+                                invAccess.CopyToInventory(x.action, x.folderID, x.objectGroups, x.remoteClient);
+                            
                             if (x.permissionToDelete)
                             {
                                 foreach (SceneObjectGroup g in x.objectGroups)
-- 
cgit v1.1