diff options
author | Diva Canto | 2015-08-08 12:12:50 -0700 |
---|---|---|
committer | Diva Canto | 2015-08-08 12:12:50 -0700 |
commit | 959872315f67a1a33a2bae7330749f7dd74a4774 (patch) | |
tree | e31f6900453e77815859767cb2331d0412ec5b57 /OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |
parent | Have osAvatarName2Key check the cache first, even for foreign users (diff) | |
download | opensim-SC_OLD-959872315f67a1a33a2bae7330749f7dd74a4774.zip opensim-SC_OLD-959872315f67a1a33a2bae7330749f7dd74a4774.tar.gz opensim-SC_OLD-959872315f67a1a33a2bae7330749f7dd74a4774.tar.bz2 opensim-SC_OLD-959872315f67a1a33a2bae7330749f7dd74a4774.tar.xz |
WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
Diffstat (limited to '')
-rw-r--r-- | OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index 3096323..0228c3c 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -2539,8 +2539,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2539 | try | 2539 | try |
2540 | { | 2540 | { |
2541 | Dictionary<UUID,UUID> inventoryMap = new Dictionary<UUID,UUID>(); | 2541 | Dictionary<UUID,UUID> inventoryMap = new Dictionary<UUID,UUID>(); |
2542 | CopyInventoryFolders(destination, source, AssetType.Clothing, inventoryMap, avatarAppearance); | 2542 | CopyInventoryFolders(destination, source, FolderType.Clothing, inventoryMap, avatarAppearance); |
2543 | CopyInventoryFolders(destination, source, AssetType.Bodypart, inventoryMap, avatarAppearance); | 2543 | CopyInventoryFolders(destination, source, FolderType.BodyPart, inventoryMap, avatarAppearance); |
2544 | 2544 | ||
2545 | AvatarWearable[] wearables = avatarAppearance.Wearables; | 2545 | AvatarWearable[] wearables = avatarAppearance.Wearables; |
2546 | 2546 | ||
@@ -2576,20 +2576,20 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2576 | IInventoryService inventoryService = m_application.SceneManager.CurrentOrFirstScene.InventoryService; | 2576 | IInventoryService inventoryService = m_application.SceneManager.CurrentOrFirstScene.InventoryService; |
2577 | 2577 | ||
2578 | // Get Clothing folder of receiver | 2578 | // Get Clothing folder of receiver |
2579 | InventoryFolderBase destinationFolder = inventoryService.GetFolderForType(destination, AssetType.Clothing); | 2579 | InventoryFolderBase destinationFolder = inventoryService.GetFolderForType(destination, FolderType.Clothing); |
2580 | 2580 | ||
2581 | if (destinationFolder == null) | 2581 | if (destinationFolder == null) |
2582 | throw new Exception("Cannot locate folder(s)"); | 2582 | throw new Exception("Cannot locate folder(s)"); |
2583 | 2583 | ||
2584 | // Missing destination folder? This should *never* be the case | 2584 | // Missing destination folder? This should *never* be the case |
2585 | if (destinationFolder.Type != (short)AssetType.Clothing) | 2585 | if (destinationFolder.Type != (short)FolderType.Clothing) |
2586 | { | 2586 | { |
2587 | destinationFolder = new InventoryFolderBase(); | 2587 | destinationFolder = new InventoryFolderBase(); |
2588 | 2588 | ||
2589 | destinationFolder.ID = UUID.Random(); | 2589 | destinationFolder.ID = UUID.Random(); |
2590 | destinationFolder.Name = "Clothing"; | 2590 | destinationFolder.Name = "Clothing"; |
2591 | destinationFolder.Owner = destination; | 2591 | destinationFolder.Owner = destination; |
2592 | destinationFolder.Type = (short)AssetType.Clothing; | 2592 | destinationFolder.Type = (short)FolderType.Clothing; |
2593 | destinationFolder.ParentID = inventoryService.GetRootFolder(destination).ID; | 2593 | destinationFolder.ParentID = inventoryService.GetRootFolder(destination).ID; |
2594 | destinationFolder.Version = 1; | 2594 | destinationFolder.Version = 1; |
2595 | inventoryService.AddFolder(destinationFolder); // store base record | 2595 | inventoryService.AddFolder(destinationFolder); // store base record |
@@ -2707,7 +2707,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2707 | /// This method is called by establishAppearance to copy inventory folders to make | 2707 | /// This method is called by establishAppearance to copy inventory folders to make |
2708 | /// copies of Clothing and Bodyparts inventory folders and attaches worn attachments | 2708 | /// copies of Clothing and Bodyparts inventory folders and attaches worn attachments |
2709 | /// </summary> | 2709 | /// </summary> |
2710 | private void CopyInventoryFolders(UUID destination, UUID source, AssetType assetType, Dictionary<UUID,UUID> inventoryMap, | 2710 | private void CopyInventoryFolders(UUID destination, UUID source, FolderType assetType, Dictionary<UUID, UUID> inventoryMap, |
2711 | AvatarAppearance avatarAppearance) | 2711 | AvatarAppearance avatarAppearance) |
2712 | { | 2712 | { |
2713 | IInventoryService inventoryService = m_application.SceneManager.CurrentOrFirstScene.InventoryService; | 2713 | IInventoryService inventoryService = m_application.SceneManager.CurrentOrFirstScene.InventoryService; |
@@ -2723,9 +2723,12 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2723 | { | 2723 | { |
2724 | sourceFolder = new InventoryFolderBase(); | 2724 | sourceFolder = new InventoryFolderBase(); |
2725 | sourceFolder.ID = UUID.Random(); | 2725 | sourceFolder.ID = UUID.Random(); |
2726 | if (assetType == AssetType.Clothing) { | 2726 | if (assetType == FolderType.Clothing) |
2727 | { | ||
2727 | sourceFolder.Name = "Clothing"; | 2728 | sourceFolder.Name = "Clothing"; |
2728 | } else { | 2729 | } |
2730 | else | ||
2731 | { | ||
2729 | sourceFolder.Name = "Body Parts"; | 2732 | sourceFolder.Name = "Body Parts"; |
2730 | } | 2733 | } |
2731 | sourceFolder.Owner = source; | 2734 | sourceFolder.Owner = source; |
@@ -2741,7 +2744,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2741 | { | 2744 | { |
2742 | destinationFolder = new InventoryFolderBase(); | 2745 | destinationFolder = new InventoryFolderBase(); |
2743 | destinationFolder.ID = UUID.Random(); | 2746 | destinationFolder.ID = UUID.Random(); |
2744 | if (assetType == AssetType.Clothing) | 2747 | if (assetType == FolderType.Clothing) |
2745 | { | 2748 | { |
2746 | destinationFolder.Name = "Clothing"; | 2749 | destinationFolder.Name = "Clothing"; |
2747 | } | 2750 | } |
@@ -2980,16 +2983,16 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2980 | // m_log.DebugFormat("[RADMIN] {0} folders, {1} items in inventory", | 2983 | // m_log.DebugFormat("[RADMIN] {0} folders, {1} items in inventory", |
2981 | // uic.folders.Count, uic.items.Count); | 2984 | // uic.folders.Count, uic.items.Count); |
2982 | 2985 | ||
2983 | InventoryFolderBase clothingFolder = inventoryService.GetFolderForType(ID, AssetType.Clothing); | 2986 | InventoryFolderBase clothingFolder = inventoryService.GetFolderForType(ID, FolderType.Clothing); |
2984 | 2987 | ||
2985 | // This should *never* be the case | 2988 | // This should *never* be the case |
2986 | if (clothingFolder == null || clothingFolder.Type != (short)AssetType.Clothing) | 2989 | if (clothingFolder == null || clothingFolder.Type != (short)FolderType.Clothing) |
2987 | { | 2990 | { |
2988 | clothingFolder = new InventoryFolderBase(); | 2991 | clothingFolder = new InventoryFolderBase(); |
2989 | clothingFolder.ID = UUID.Random(); | 2992 | clothingFolder.ID = UUID.Random(); |
2990 | clothingFolder.Name = "Clothing"; | 2993 | clothingFolder.Name = "Clothing"; |
2991 | clothingFolder.Owner = ID; | 2994 | clothingFolder.Owner = ID; |
2992 | clothingFolder.Type = (short)AssetType.Clothing; | 2995 | clothingFolder.Type = (short)FolderType.Clothing; |
2993 | clothingFolder.ParentID = inventoryService.GetRootFolder(ID).ID; | 2996 | clothingFolder.ParentID = inventoryService.GetRootFolder(ID).ID; |
2994 | clothingFolder.Version = 1; | 2997 | clothingFolder.Version = 1; |
2995 | inventoryService.AddFolder(clothingFolder); // store base record | 2998 | inventoryService.AddFolder(clothingFolder); // store base record |
@@ -3035,7 +3038,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
3035 | extraFolder.ID = UUID.Random(); | 3038 | extraFolder.ID = UUID.Random(); |
3036 | extraFolder.Name = outfitName; | 3039 | extraFolder.Name = outfitName; |
3037 | extraFolder.Owner = ID; | 3040 | extraFolder.Owner = ID; |
3038 | extraFolder.Type = (short)AssetType.Clothing; | 3041 | extraFolder.Type = (short)FolderType.Clothing; |
3039 | extraFolder.Version = 1; | 3042 | extraFolder.Version = 1; |
3040 | extraFolder.ParentID = clothingFolder.ID; | 3043 | extraFolder.ParentID = clothingFolder.ID; |
3041 | inventoryService.AddFolder(extraFolder); | 3044 | inventoryService.AddFolder(extraFolder); |