* Put in the code necessary to allow inventory transfer of whole folders (and their contents) between agents, not just single items

* However, this is not currently activated since it's not absolutely fully tested and there's a bug lurking in there to do with the sending of the BulkInventoryUpdate packets
This commit is contained in:
Justin Clarke Casey
2008-12-04 19:57:36 +00:00
parent 1bd92a6d34
commit 38ca31b37a
9 changed files with 381 additions and 42 deletions

View File

@@ -556,8 +556,10 @@ namespace OpenSim.Framework.Communications.Cache
}
/// <summary>
/// Add an item to the user's inventory
/// Add an item to the user's inventory.
/// </summary>
/// If the item has no folder set (i.e. it is UUID.Zero), then it is placed in the most appropriate folder
/// for that type.
/// <param name="itemInfo"></param>
public void AddItem(InventoryItemBase item)
{
@@ -572,6 +574,7 @@ namespace OpenSim.Framework.Communications.Cache
item.Folder = RootFolder.ID;
}
ItemReceive(item, null);
if (m_commsManager.SecureInventoryService != null)
{
m_commsManager.SecureInventoryService.AddItem(item, m_session_id);

View File

@@ -358,6 +358,10 @@ namespace OpenSim.Framework.Communications.Cache
return folderList;
}
/// <value>
/// The total number of items in this folder and in the immediate child folders (though not from other
/// descendants).
/// </value>
public int TotalCount
{
get

View File

@@ -828,6 +828,13 @@ namespace OpenSim.Framework
void SendTaskInventory(UUID taskID, short serial, byte[] fileName);
/// <summary>
/// Used by the server to inform the client of new inventory items. Will transfer the contents of the folder
/// (including all descendent folders) as well as the folder itself.
/// </summary>
/// <param name="folder"></param>
void SendBulkUpdateInventory(InventoryFolderBase folder);
/// <summary>
/// Used by the server to inform the client of a new inventory item. Used when transferring items
/// between avatars, possibly among other things.