From e6bb86a22428c6ed9e3d97e5347835e5e5cff598 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sun, 22 Mar 2009 15:42:22 +0000
Subject: Add QueryItem method to secure inventory and HG inventory, change
method sig to provide additional information the HG needs.
---
.../Communications/Cache/CachedUserInfo.cs | 21 ++++++++++++++-------
.../Communications/ISecureInventoryService.cs | 2 ++
2 files changed, 16 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Framework/Communications')
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
index 03569f6..4ea1e22 100644
--- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
@@ -773,23 +773,30 @@ namespace OpenSim.Framework.Communications.Cache
// The item will be added tot he local cache. Returns true if the item
// was found and can be sent to the client
//
- public bool QueryItem(UUID itemID)
+ public bool QueryItem(InventoryItemBase item)
{
if (m_hasReceivedInventory)
{
- InventoryItemBase item = RootFolder.FindItem(itemID);
+ InventoryItemBase invItem = RootFolder.FindItem(item.ID);
- if (item != null)
+ if (invItem != null)
{
// Item is in local cache, just update client
//
return true;
}
- item = new InventoryItemBase();
- item.ID = itemID;
+ InventoryItemBase itemInfo = null;
+
+ if (m_commsManager.SecureInventoryService != null)
+ {
+ m_commsManager.SecureInventoryService.QueryItem(item, m_session_id);
+ }
+ else
+ {
+ m_commsManager.InventoryService.QueryItem(item);
+ }
- InventoryItemBase itemInfo = m_commsManager.InventoryService.QueryItem(item);
if (itemInfo != null)
{
InventoryFolderImpl folder = RootFolder.FindFolder(itemInfo.Folder);
@@ -804,7 +811,7 @@ namespace OpenSim.Framework.Communications.Cache
AddRequest(
new InventoryRequest(
Delegate.CreateDelegate(typeof(QueryItemDelegate), this, "QueryItem"),
- new object[] { itemID }));
+ new object[] { item.ID }));
return true;
}
diff --git a/OpenSim/Framework/Communications/ISecureInventoryService.cs b/OpenSim/Framework/Communications/ISecureInventoryService.cs
index 6da13fe..d70dd0b 100644
--- a/OpenSim/Framework/Communications/ISecureInventoryService.cs
+++ b/OpenSim/Framework/Communications/ISecureInventoryService.cs
@@ -96,6 +96,8 @@ namespace OpenSim.Framework.Communications
/// true if the item was successfully deleted
bool DeleteItem(InventoryItemBase item, UUID session_id);
+ InventoryItemBase QueryItem(InventoryItemBase item, UUID session_id);
+
///
/// Does the given user have an inventory structure?
///
--
cgit v1.1