diff options
author | Melanie Thielker | 2016-07-04 03:35:48 +0100 |
---|---|---|
committer | Melanie Thielker | 2016-07-04 03:35:48 +0100 |
commit | ea8f3c83bf96453e8223d918933d5708fa49a3cc (patch) | |
tree | 288972a5d6f112426da2b5ab109fe18ba5aedc2e /OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |
parent | increase xmlrpc timeout in xmlrpcgroups, disable its cache until its entries ... (diff) | |
download | opensim-SC-ea8f3c83bf96453e8223d918933d5708fa49a3cc.zip opensim-SC-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.gz opensim-SC-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.bz2 opensim-SC-ea8f3c83bf96453e8223d918933d5708fa49a3cc.tar.xz |
Finally remove the requirement for an InventoryItem/FolderBase object to
be passed into inventory queries.
This makes the API more homogenous and also will more clearly show
coding
errors related to HG inventory where the .Owner field has a meaning
for a query but wasn't always set.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 30bc75b..f2df364 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -223,8 +223,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
223 | 223 | ||
224 | if (core.TryGet<IClientInventory>(out inv)) | 224 | if (core.TryGet<IClientInventory>(out inv)) |
225 | { | 225 | { |
226 | InventoryFolderBase parent = new InventoryFolderBase(f.ParentID, f.Owner); | 226 | InventoryFolderBase parent = InventoryService.GetFolder(f.Owner, f.ParentID); |
227 | parent = InventoryService.GetFolder(parent); | ||
228 | inv.SendRemoveInventoryItems(new UUID[] { item.ID }); | 227 | inv.SendRemoveInventoryItems(new UUID[] { item.ID }); |
229 | inv.SendBulkUpdateInventory(new InventoryFolderBase[0], new InventoryItemBase[] { item }); | 228 | inv.SendBulkUpdateInventory(new InventoryFolderBase[0], new InventoryItemBase[] { item }); |
230 | string message = "The item was placed in folder " + f.Name; | 229 | string message = "The item was placed in folder " + f.Name; |
@@ -407,8 +406,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
407 | // inventory. Rut-Roh. Whatever. Make this secure. Yeah. | 406 | // inventory. Rut-Roh. Whatever. Make this secure. Yeah. |
408 | // | 407 | // |
409 | // Passing something to another avatar or a an object will already | 408 | // Passing something to another avatar or a an object will already |
410 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); | 409 | InventoryItemBase item = InventoryService.GetItem(remoteClient.AgentId, itemID); |
411 | item = InventoryService.GetItem(item); | ||
412 | 410 | ||
413 | if (item != null) | 411 | if (item != null) |
414 | { | 412 | { |
@@ -585,8 +583,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
585 | return null; | 583 | return null; |
586 | } | 584 | } |
587 | 585 | ||
588 | InventoryItemBase item = new InventoryItemBase(itemId, senderId); | 586 | InventoryItemBase item = InventoryService.GetItem(senderId, itemId); |
589 | item = InventoryService.GetItem(item); | ||
590 | 587 | ||
591 | if (item == null) | 588 | if (item == null) |
592 | { | 589 | { |
@@ -807,7 +804,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
807 | UUID recipientId, UUID senderId, UUID folderId, UUID recipientParentFolderId) | 804 | UUID recipientId, UUID senderId, UUID folderId, UUID recipientParentFolderId) |
808 | { | 805 | { |
809 | //// Retrieve the folder from the sender | 806 | //// Retrieve the folder from the sender |
810 | InventoryFolderBase folder = InventoryService.GetFolder(new InventoryFolderBase(folderId, senderId)); | 807 | InventoryFolderBase folder = InventoryService.GetFolder(senderId, folderId); |
811 | if (null == folder) | 808 | if (null == folder) |
812 | { | 809 | { |
813 | m_log.ErrorFormat( | 810 | m_log.ErrorFormat( |
@@ -868,8 +865,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
868 | 865 | ||
869 | if (item == null) | 866 | if (item == null) |
870 | { | 867 | { |
871 | item = new InventoryItemBase(oldItemID, remoteClient.AgentId); | 868 | item = InventoryService.GetItem(remoteClient.AgentId, oldItemID); |
872 | item = InventoryService.GetItem(item); | ||
873 | 869 | ||
874 | if (item == null) | 870 | if (item == null) |
875 | { | 871 | { |
@@ -953,7 +949,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
953 | foreach (InventoryItemBase b in items) | 949 | foreach (InventoryItemBase b in items) |
954 | { | 950 | { |
955 | CopyInventoryItem(remoteClient, 0, remoteClient.AgentId, b.ID, b.Folder, null); | 951 | CopyInventoryItem(remoteClient, 0, remoteClient.AgentId, b.ID, b.Folder, null); |
956 | InventoryItemBase n = InventoryService.GetItem(b); | 952 | InventoryItemBase n = InventoryService.GetItem(b.Owner, b.ID); |
957 | n.Folder = destfolder; | 953 | n.Folder = destfolder; |
958 | moveitems.Add(n); | 954 | moveitems.Add(n); |
959 | remoteClient.SendInventoryItemCreateUpdate(n, 0); | 955 | remoteClient.SendInventoryItemCreateUpdate(n, 0); |
@@ -1605,8 +1601,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1605 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); | 1601 | InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); |
1606 | 1602 | ||
1607 | // Fetch the folder itself to get its current version | 1603 | // Fetch the folder itself to get its current version |
1608 | InventoryFolderBase containingFolder = new InventoryFolderBase(folder.ID, client.AgentId); | 1604 | InventoryFolderBase containingFolder = InventoryService.GetFolder(client.AgentId, folder.ID); |
1609 | containingFolder = InventoryService.GetFolder(containingFolder); | ||
1610 | 1605 | ||
1611 | // m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", | 1606 | // m_log.DebugFormat("[AGENT INVENTORY]: Sending inventory folder contents ({0} nodes) for \"{1}\" to {2} {3}", |
1612 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); | 1607 | // contents.Folders.Count + contents.Items.Count, containingFolder.Name, client.FirstName, client.LastName); |
@@ -1620,7 +1615,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1620 | { | 1615 | { |
1621 | if (item.AssetType == (int)AssetType.Link) | 1616 | if (item.AssetType == (int)AssetType.Link) |
1622 | { | 1617 | { |
1623 | InventoryItemBase linkedItem = InventoryService.GetItem(new InventoryItemBase(item.AssetID)); | 1618 | InventoryItemBase linkedItem = InventoryService.GetItem(client.AgentId, item.AssetID); |
1624 | 1619 | ||
1625 | // Take care of genuinely broken links where the target doesn't exist | 1620 | // Take care of genuinely broken links where the target doesn't exist |
1626 | // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate, | 1621 | // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate, |
@@ -1680,8 +1675,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1680 | UUID copyID = UUID.Random(); | 1675 | UUID copyID = UUID.Random(); |
1681 | if (itemID != UUID.Zero) | 1676 | if (itemID != UUID.Zero) |
1682 | { | 1677 | { |
1683 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); | 1678 | InventoryItemBase item = InventoryService.GetItem(remoteClient.AgentId, itemID); |
1684 | item = InventoryService.GetItem(item); | ||
1685 | 1679 | ||
1686 | // Try library | 1680 | // Try library |
1687 | if (null == item && LibraryService != null && LibraryService.LibraryRootFolder != null) | 1681 | if (null == item && LibraryService != null && LibraryService.LibraryRootFolder != null) |
@@ -1836,8 +1830,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1836 | public SceneObjectPart RezScriptFromAgentInventory(UUID agentID, UUID fromItemID, uint localID) | 1830 | public SceneObjectPart RezScriptFromAgentInventory(UUID agentID, UUID fromItemID, uint localID) |
1837 | { | 1831 | { |
1838 | UUID copyID = UUID.Random(); | 1832 | UUID copyID = UUID.Random(); |
1839 | InventoryItemBase item = new InventoryItemBase(fromItemID, agentID); | 1833 | InventoryItemBase item = InventoryService.GetItem(agentID, fromItemID); |
1840 | item = InventoryService.GetItem(item); | ||
1841 | 1834 | ||
1842 | // Try library | 1835 | // Try library |
1843 | // XXX clumsy, possibly should be one call | 1836 | // XXX clumsy, possibly should be one call |