From 8a9677a5319793ff630d0761e204ae8961f375aa Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 1 Jan 2010 21:12:46 -0800 Subject: The Library Service is now working. UserProfileCacheService.LibraryRoot is obsolete. Didn't delete it yet to avoid merge conflicts later -- want to stay out of core as much as possible. --- .../World/Permissions/PermissionsModule.cs | 29 +++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region/CoreModules/World') diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index c9b3071..91c0a53 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs @@ -95,6 +95,23 @@ namespace OpenSim.Region.CoreModules.World.Permissions protected Scene m_scene; + private InventoryFolderImpl m_libraryRootFolder; + protected InventoryFolderImpl LibraryRootFolder + { + get + { + if (m_libraryRootFolder != null) + return m_libraryRootFolder; + + ILibraryService lib = m_scene.RequestModuleInterface(); + if (lib != null) + { + m_libraryRootFolder = lib.LibraryRootFolder; + } + return m_libraryRootFolder; + } + } + #region Constants // These are here for testing. They will be taken out @@ -1005,9 +1022,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions IInventoryService invService = m_scene.InventoryService; InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); assetRequestItem = invService.GetItem(assetRequestItem); - if (assetRequestItem == null) // Library item + if (assetRequestItem == null && LibraryRootFolder != null) // Library item { - assetRequestItem = scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(notecard); + assetRequestItem = LibraryRootFolder.FindItem(notecard); if (assetRequestItem != null) // Implicitly readable return true; @@ -1425,9 +1442,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions IInventoryService invService = m_scene.InventoryService; InventoryItemBase assetRequestItem = new InventoryItemBase(script, user); assetRequestItem = invService.GetItem(assetRequestItem); - if (assetRequestItem == null) // Library item + if (assetRequestItem == null && LibraryRootFolder != null) // Library item { - assetRequestItem = m_scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(script); + assetRequestItem = LibraryRootFolder.FindItem(script); if (assetRequestItem != null) // Implicitly readable return true; @@ -1520,9 +1537,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions IInventoryService invService = m_scene.InventoryService; InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); assetRequestItem = invService.GetItem(assetRequestItem); - if (assetRequestItem == null) // Library item + if (assetRequestItem == null && LibraryRootFolder != null) // Library item { - assetRequestItem = m_scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(notecard); + assetRequestItem = LibraryRootFolder.FindItem(notecard); if (assetRequestItem != null) // Implicitly readable return true; -- cgit v1.1