From 412112acbafa6e1f111b12007fd3a81728d0b2f5 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Mon, 23 Mar 2009 00:11:34 +0000 Subject: Committing partial work on passing folders across instances. This may crash. --- .../Communications/Hypergrid/HGInventoryService.cs | 23 ++++++++++++++++++++++ .../Communications/OGS1/OGS1InventoryService.cs | 16 +++++++++++++++ .../OGS1/OGS1SecureInventoryService.cs | 16 +++++++++++++++ 3 files changed, 55 insertions(+) (limited to 'OpenSim/Region/Communications') diff --git a/OpenSim/Region/Communications/Hypergrid/HGInventoryService.cs b/OpenSim/Region/Communications/Hypergrid/HGInventoryService.cs index 9d70c46..a9e008c 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGInventoryService.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGInventoryService.cs @@ -340,6 +340,29 @@ namespace OpenSim.Region.Communications.Hypergrid return null; } + + public InventoryFolderBase QueryFolder(InventoryFolderBase item, UUID session_id) + { + if (IsLocalStandaloneUser(item.Owner)) + { + return base.QueryFolder(item); + } + + try + { + string invServ = GetUserInventoryURI(item.Owner); + + return SynchronousRestSessionObjectPoster.BeginPostObject( + "POST", invServ + "/QueryFolder/", item, session_id.ToString(), item.Owner.ToString()); + } + catch (WebException e) + { + m_log.ErrorFormat("[HGrid INVENTORY SERVICE]: Query inventory item operation failed, {0} {1}", + e.Source, e.Message); + } + + return null; + } #endregion #region Methods common to ISecureInventoryService and IInventoryService diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs index 56566a8..26e4a55 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs @@ -312,6 +312,22 @@ namespace OpenSim.Region.Communications.OGS1 return null; } + public InventoryFolderBase QueryFolder(InventoryFolderBase item) + { + try + { + return SynchronousRestObjectPoster.BeginPostObject( + "POST", _inventoryServerUrl + "/QueryFolder/", item); + } + catch (WebException e) + { + m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Query inventory item operation failed, {0} {1}", + e.Source, e.Message); + } + + return null; + } + public bool HasInventoryForUser(UUID userID) { return false; diff --git a/OpenSim/Region/Communications/OGS1/OGS1SecureInventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1SecureInventoryService.cs index 0f50b01..03fb0d5 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1SecureInventoryService.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1SecureInventoryService.cs @@ -312,6 +312,22 @@ namespace OpenSim.Region.Communications.OGS1 return null; } + public InventoryFolderBase QueryFolder(InventoryFolderBase item, UUID session_id) + { + try + { + return SynchronousRestSessionObjectPoster.BeginPostObject( + "POST", _inventoryServerUrl + "/QueryFolder/", item, session_id.ToString(), item.Owner.ToString()); + } + catch (WebException e) + { + m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Query inventory item operation failed, {0} {1}", + e.Source, e.Message); + } + + return null; + } + public bool HasInventoryForUser(UUID userID) { return false; -- cgit v1.1