From 31419a70ce05e7db0c54f4c4ec827a0d1fe23402 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 11 Aug 2009 10:30:03 -0700 Subject: System folders inventory cache added to OUT inventory modules. This tracks agents in and out of *sims* in order to fetch/drop their system folders from the cache. Also added region-side support for fetching the system folders from the inventory service. Nothing of this is called yet. --- .../Inventory/RemoteInventoryServiceConnector.cs | 33 +++++++++------------- 1 file changed, 13 insertions(+), 20 deletions(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs index 2064558..dceda38 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs @@ -40,7 +40,7 @@ using OpenMetaverse; namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory { - public class RemoteInventoryServicesConnector : ISharedRegionModule, IInventoryService + public class RemoteInventoryServicesConnector : InventoryCache, ISharedRegionModule, IInventoryService { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -69,9 +69,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory Init(source); } - private void Init(IConfigSource source) + protected override void Init(IConfigSource source) { m_RemoteConnector = new InventoryServicesConnector(source); + base.Init(source); } @@ -101,7 +102,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory { } - public void AddRegion(Scene scene) + public override void AddRegion(Scene scene) { if (!m_Enabled) return; @@ -116,10 +117,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory } scene.RegisterModuleInterface(this); + base.AddRegion(scene); } - public void RemoveRegion(Scene scene) + public override void RemoveRegion(Scene scene) { + base.RemoveRegion(scene); } public void RegionLoaded(Scene scene) @@ -168,23 +171,13 @@ 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; + // inherited. See base class + // public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) + public override Dictionary GetSystemFolders(UUID userID) + { + UUID sessionID = GetSessionID(userID); + return m_RemoteConnector.GetSystemFolders(userID.ToString(), sessionID); } public InventoryCollection GetFolderContent(UUID userID, UUID folderID) -- cgit v1.1