aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/BaseInventoryConnector.cs11
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs25
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs1
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs28
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs14
5 files changed, 49 insertions, 30 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/BaseInventoryConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/BaseInventoryConnector.cs
index 375faf5..ef5ffe1 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/BaseInventoryConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/BaseInventoryConnector.cs
@@ -82,7 +82,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
82 /// </summary> 82 /// </summary>
83 /// <param name="userID"></param> 83 /// <param name="userID"></param>
84 /// <returns>null if no root folder was found</returns> 84 /// <returns>null if no root folder was found</returns>
85 public abstract InventoryFolderBase GetRootFolder(UUID userID); 85 public InventoryFolderBase GetRootFolder(UUID userID)
86 {
87 // Root folder is here as system type Folder.
88 return m_cache.GetFolderForType(userID, AssetType.Folder);
89 }
86 90
87 public abstract Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(UUID userID); 91 public abstract Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(UUID userID);
88 92
@@ -184,9 +188,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
184 /// <returns>true if the item was successfully deleted</returns> 188 /// <returns>true if the item was successfully deleted</returns>
185 public abstract bool DeleteItem(InventoryItemBase item); 189 public abstract bool DeleteItem(InventoryItemBase item);
186 190
187 public abstract InventoryItemBase QueryItem(InventoryItemBase item); 191 public abstract InventoryItemBase GetItem(InventoryItemBase item);
188 192
189 public abstract InventoryFolderBase QueryFolder(InventoryFolderBase folder); 193 public abstract InventoryFolderBase GetFolder(InventoryFolderBase folder);
190 194
191 /// <summary> 195 /// <summary>
192 /// Does the given user have an inventory structure? 196 /// Does the given user have an inventory structure?
@@ -202,5 +206,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
202 /// <returns></returns> 206 /// <returns></returns>
203 public abstract List<InventoryItemBase> GetActiveGestures(UUID userId); 207 public abstract List<InventoryItemBase> GetActiveGestures(UUID userId);
204 208
209 public abstract int GetAssetPermissions(UUID userID, UUID assetID);
205 } 210 }
206} 211}
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
index 62b9bed..fd12a57 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
@@ -263,6 +263,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
263 folders[(AssetType)folder.Type] = folder; 263 folders[(AssetType)folder.Type] = folder;
264 } 264 }
265 m_log.DebugFormat("[HG INVENTORY CONNECTOR]: System folders count for {0}: {1}", userID, folders.Count); 265 m_log.DebugFormat("[HG INVENTORY CONNECTOR]: System folders count for {0}: {1}", userID, folders.Count);
266 // Put the root folder there, as type Folder
267 folders[AssetType.Folder] = root;
266 return folders; 268 return folders;
267 } 269 }
268 m_log.DebugFormat("[HG INVENTORY CONNECTOR]: Root folder content not found for {0}", userID); 270 m_log.DebugFormat("[HG INVENTORY CONNECTOR]: Root folder content not found for {0}", userID);
@@ -387,13 +389,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
387 } 389 }
388 } 390 }
389 391
390 public override InventoryItemBase QueryItem(InventoryItemBase item) 392 public override InventoryItemBase GetItem(InventoryItemBase item)
391 { 393 {
392 if (item == null) 394 if (item == null)
393 return null; 395 return null;
394 396
395 if (IsLocalGridUser(item.Owner)) 397 if (IsLocalGridUser(item.Owner))
396 return m_GridService.QueryItem(item); 398 return m_GridService.GetItem(item);
397 else 399 else
398 { 400 {
399 UUID sessionID = GetSessionID(item.Owner); 401 UUID sessionID = GetSessionID(item.Owner);
@@ -402,13 +404,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
402 } 404 }
403 } 405 }
404 406
405 public override InventoryFolderBase QueryFolder(InventoryFolderBase folder) 407 public override InventoryFolderBase GetFolder(InventoryFolderBase folder)
406 { 408 {
407 if (folder == null) 409 if (folder == null)
408 return null; 410 return null;
409 411
410 if (IsLocalGridUser(folder.Owner)) 412 if (IsLocalGridUser(folder.Owner))
411 return m_GridService.QueryFolder(folder); 413 return m_GridService.GetFolder(folder);
412 else 414 else
413 { 415 {
414 UUID sessionID = GetSessionID(folder.Owner); 416 UUID sessionID = GetSessionID(folder.Owner);
@@ -422,14 +424,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
422 return false; 424 return false;
423 } 425 }
424 426
425 public override InventoryFolderBase GetRootFolder(UUID userID) 427 public override List<InventoryItemBase> GetActiveGestures(UUID userId)
426 { 428 {
427 return null; 429 return new List<InventoryItemBase>();
428 } 430 }
429 431
430 public override List<InventoryItemBase> GetActiveGestures(UUID userId) 432 public override int GetAssetPermissions(UUID userID, UUID assetID)
431 { 433 {
432 return new List<InventoryItemBase>(); 434 if (IsLocalGridUser(userID))
435 return m_GridService.GetAssetPermissions(userID, assetID);
436 else
437 {
438 UUID sessionID = GetSessionID(userID);
439 string uri = GetUserInventoryURI(userID) + "/" + userID.ToString();
440 return m_HGService.GetAssetPermissions(uri, assetID, sessionID);
441 }
433 } 442 }
434 443
435 #endregion 444 #endregion
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
index c16e92e..c8f04a5 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
@@ -91,6 +91,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
91 Dictionary<AssetType, InventoryFolderBase> folders = m_Connector.GetSystemFolders(presence.UUID); 91 Dictionary<AssetType, InventoryFolderBase> folders = m_Connector.GetSystemFolders(presence.UUID);
92 m_log.DebugFormat("[INVENTORY CACHE]: OnMakeRootAgent in {0}, fetched system folders for {1} {2}: count {3}", 92 m_log.DebugFormat("[INVENTORY CACHE]: OnMakeRootAgent in {0}, fetched system folders for {1} {2}: count {3}",
93 presence.Scene.RegionInfo.RegionName, presence.Firstname, presence.Lastname, folders.Count); 93 presence.Scene.RegionInfo.RegionName, presence.Firstname, presence.Lastname, folders.Count);
94
94 if (folders.Count > 0) 95 if (folders.Count > 0)
95 lock (m_InventoryCache) 96 lock (m_InventoryCache)
96 m_InventoryCache.Add(presence.UUID, folders); 97 m_InventoryCache.Add(presence.UUID, folders);
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index 6efe903..2fbc5fe 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -201,8 +201,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
201 foreach (InventoryFolderBase folder in content.Folders) 201 foreach (InventoryFolderBase folder in content.Folders)
202 { 202 {
203 if ((folder.Type != (short)AssetType.Folder) && (folder.Type != (short)AssetType.Unknown)) 203 if ((folder.Type != (short)AssetType.Folder) && (folder.Type != (short)AssetType.Unknown))
204 {
205 m_log.InfoFormat("[INVENTORY CONNECTOR]: folder type {0} ", folder.Type);
204 folders[(AssetType)folder.Type] = folder; 206 folders[(AssetType)folder.Type] = folder;
207 }
205 } 208 }
209 // Put the root folder there, as type Folder
210 folders[AssetType.Folder] = root;
211 m_log.InfoFormat("[INVENTORY CONNECTOR]: root folder is type {0} ", root.Type);
212
206 return folders; 213 return folders;
207 } 214 }
208 } 215 }
@@ -292,14 +299,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
292 return m_InventoryService.DeleteItem(item); 299 return m_InventoryService.DeleteItem(item);
293 } 300 }
294 301
295 public override InventoryItemBase QueryItem(InventoryItemBase item) 302 public override InventoryItemBase GetItem(InventoryItemBase item)
296 { 303 {
297 return m_InventoryService.QueryItem(item); 304 return m_InventoryService.GetItem(item);
298 } 305 }
299 306
300 public override InventoryFolderBase QueryFolder(InventoryFolderBase folder) 307 public override InventoryFolderBase GetFolder(InventoryFolderBase folder)
301 { 308 {
302 return m_InventoryService.QueryFolder(folder); 309 return m_InventoryService.GetFolder(folder);
303 } 310 }
304 311
305 /// <summary> 312 /// <summary>
@@ -312,19 +319,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
312 return m_InventoryService.HasInventoryForUser(userID); 319 return m_InventoryService.HasInventoryForUser(userID);
313 } 320 }
314 321
315 /// <summary> 322 public override List<InventoryItemBase> GetActiveGestures(UUID userId)
316 /// Retrieve the root inventory folder for the given user.
317 /// </summary>
318 /// <param name="userID"></param>
319 /// <returns>null if no root folder was found</returns>
320 public override InventoryFolderBase GetRootFolder(UUID userID)
321 { 323 {
322 return m_InventoryService.GetRootFolder(userID); 324 return m_InventoryService.GetActiveGestures(userId);
323 } 325 }
324 326
325 public override List<InventoryItemBase> GetActiveGestures(UUID userId) 327 public override int GetAssetPermissions(UUID userID, UUID assetID)
326 { 328 {
327 return m_InventoryService.GetActiveGestures(userId); 329 return m_InventoryService.GetAssetPermissions(userID, assetID);
328 } 330 }
329 #endregion IInventoryService 331 #endregion IInventoryService
330 } 332 }
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs
index f87aab9..e4bb865 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteInventoryServiceConnector.cs
@@ -273,7 +273,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
273 return m_RemoteConnector.DeleteItem(item.Owner.ToString(), item, sessionID); 273 return m_RemoteConnector.DeleteItem(item.Owner.ToString(), item, sessionID);
274 } 274 }
275 275
276 public override InventoryItemBase QueryItem(InventoryItemBase item) 276 public override InventoryItemBase GetItem(InventoryItemBase item)
277 { 277 {
278 if (item == null) 278 if (item == null)
279 return null; 279 return null;
@@ -282,7 +282,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
282 return m_RemoteConnector.QueryItem(item.Owner.ToString(), item, sessionID); 282 return m_RemoteConnector.QueryItem(item.Owner.ToString(), item, sessionID);
283 } 283 }
284 284
285 public override InventoryFolderBase QueryFolder(InventoryFolderBase folder) 285 public override InventoryFolderBase GetFolder(InventoryFolderBase folder)
286 { 286 {
287 if (folder == null) 287 if (folder == null)
288 return null; 288 return null;
@@ -296,16 +296,18 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
296 return false; 296 return false;
297 } 297 }
298 298
299 public override InventoryFolderBase GetRootFolder(UUID userID) 299 public override List<InventoryItemBase> GetActiveGestures(UUID userId)
300 { 300 {
301 return null; 301 return new List<InventoryItemBase>();
302 } 302 }
303 303
304 public override List<InventoryItemBase> GetActiveGestures(UUID userId) 304 public override int GetAssetPermissions(UUID userID, UUID assetID)
305 { 305 {
306 return new List<InventoryItemBase>(); 306 UUID sessionID = GetSessionID(userID);
307 return m_RemoteConnector.GetAssetPermissions(userID.ToString(), assetID, sessionID);
307 } 308 }
308 309
310
309 #endregion 311 #endregion
310 312
311 private UUID GetSessionID(UUID userID) 313 private UUID GetSessionID(UUID userID)