diff options
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.
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs | 33 |
1 files changed, 13 insertions, 20 deletions
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; | |||
40 | 40 | ||
41 | namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | 41 | namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory |
42 | { | 42 | { |
43 | public class RemoteInventoryServicesConnector : ISharedRegionModule, IInventoryService | 43 | public class RemoteInventoryServicesConnector : InventoryCache, ISharedRegionModule, IInventoryService |
44 | { | 44 | { |
45 | private static readonly ILog m_log = | 45 | private static readonly ILog m_log = |
46 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 46 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -69,9 +69,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
69 | Init(source); | 69 | Init(source); |
70 | } | 70 | } |
71 | 71 | ||
72 | private void Init(IConfigSource source) | 72 | protected override void Init(IConfigSource source) |
73 | { | 73 | { |
74 | m_RemoteConnector = new InventoryServicesConnector(source); | 74 | m_RemoteConnector = new InventoryServicesConnector(source); |
75 | base.Init(source); | ||
75 | } | 76 | } |
76 | 77 | ||
77 | 78 | ||
@@ -101,7 +102,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
101 | { | 102 | { |
102 | } | 103 | } |
103 | 104 | ||
104 | public void AddRegion(Scene scene) | 105 | public override void AddRegion(Scene scene) |
105 | { | 106 | { |
106 | if (!m_Enabled) | 107 | if (!m_Enabled) |
107 | return; | 108 | return; |
@@ -116,10 +117,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
116 | } | 117 | } |
117 | 118 | ||
118 | scene.RegisterModuleInterface<IInventoryService>(this); | 119 | scene.RegisterModuleInterface<IInventoryService>(this); |
120 | base.AddRegion(scene); | ||
119 | } | 121 | } |
120 | 122 | ||
121 | public void RemoveRegion(Scene scene) | 123 | public override void RemoveRegion(Scene scene) |
122 | { | 124 | { |
125 | base.RemoveRegion(scene); | ||
123 | } | 126 | } |
124 | 127 | ||
125 | public void RegionLoaded(Scene scene) | 128 | public void RegionLoaded(Scene scene) |
@@ -168,23 +171,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
168 | 171 | ||
169 | } | 172 | } |
170 | 173 | ||
171 | public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) | 174 | // inherited. See base class |
172 | { | 175 | // public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) |
173 | //UUID sessionID = GetSessionID(userID); | ||
174 | //List<InventoryFolderBase> sysFolders; | ||
175 | //try | ||
176 | //{ | ||
177 | // sysFolders = m_RemoteConnector.GetSystemFolders(userID.ToString(), sessionID); | ||
178 | //} | ||
179 | //catch (Exception e) | ||
180 | //{ | ||
181 | // m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetFolderForType operation failed, {0} {1}", | ||
182 | // e.Source, e.Message); | ||
183 | //} | ||
184 | |||
185 | // PLACEHOLDER UNTIL CACHE IS DONE | ||
186 | return null; | ||
187 | 176 | ||
177 | public override Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(UUID userID) | ||
178 | { | ||
179 | UUID sessionID = GetSessionID(userID); | ||
180 | return m_RemoteConnector.GetSystemFolders(userID.ToString(), sessionID); | ||
188 | } | 181 | } |
189 | 182 | ||
190 | public InventoryCollection GetFolderContent(UUID userID, UUID folderID) | 183 | public InventoryCollection GetFolderContent(UUID userID, UUID folderID) |