From cdcbc48534f19afe7cbdeb6c690e6b7d9f2ff099 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 10 Aug 2009 20:31:51 -0700 Subject: Added two new methods to IIventoryService -- GetFolderForType and GetFolderContent. Some meat to it, but not completed. None of this code is called anywhere yet. --- .../Inventory/HGInventoryBroker.cs | 26 +++++++++++++++ .../Inventory/LocalInventoryServiceConnector.cs | 11 +++++++ .../Inventory/RemoteInventoryServiceConnector.cs | 38 ++++++++++++++++++++++ 3 files changed, 75 insertions(+) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs index b3c5396..f5e6824 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs @@ -201,6 +201,32 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory } } + public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) + { + if (IsLocalGridUser(userID)) + return m_GridService.GetFolderForType(userID, type); + else + { + UUID sessionID = GetSessionID(userID); + string uri = GetUserInventoryURI(userID) + "/" + userID.ToString(); + // !!!!!! + return null; + //return m_HGService.GetFolderForType(uri, sessionID, type); + } + } + + public InventoryCollection GetFolderContent(UUID userID, UUID folderID) + { + if (IsLocalGridUser(userID)) + return m_GridService.GetFolderContent(userID, folderID); + else + { + UUID sessionID = GetSessionID(userID); + string uri = GetUserInventoryURI(userID) + "/" + userID.ToString(); + return m_HGService.GetFolderContent(uri, folderID, sessionID); + } + } + public List GetFolderItems(UUID userID, UUID folderID) { return new List(); diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs index cb20f35..bab0044 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs @@ -176,6 +176,17 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory m_InventoryService.GetUserInventory(userID, callback); } + public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) + { + return m_InventoryService.GetFolderForType(userID, type); + } + + public InventoryCollection GetFolderContent(UUID userID, UUID folderID) + { + return m_InventoryService.GetFolderContent(userID, folderID); + } + + public List GetFolderItems(UUID userID, UUID folderID) { return m_InventoryService.GetFolderItems(userID, folderID); diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs index b544138..2064558 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs @@ -168,6 +168,44 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory } + public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) + { + //UUID sessionID = GetSessionID(userID); + //List sysFolders; + //try + //{ + // sysFolders = m_RemoteConnector.GetSystemFolders(userID.ToString(), sessionID); + //} + //catch (Exception e) + //{ + // m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetFolderForType operation failed, {0} {1}", + // e.Source, e.Message); + //} + + // PLACEHOLDER UNTIL CACHE IS DONE + return null; + + } + + public InventoryCollection GetFolderContent(UUID userID, UUID folderID) + { + UUID sessionID = GetSessionID(userID); + try + { + return m_RemoteConnector.GetFolderContent(userID.ToString(), folderID, sessionID); + } + catch (Exception e) + { + m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetFolderContent operation failed, {0} {1}", + e.Source, e.Message); + } + InventoryCollection nullCollection = new InventoryCollection(); + nullCollection.Folders = new List(); + nullCollection.Items = new List(); + nullCollection.UserID = userID; + return nullCollection; + } + public List GetFolderItems(UUID userID, UUID folderID) { return new List(); -- cgit v1.1