aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins/RemoteController
diff options
context:
space:
mode:
authorDiva Canto2015-08-08 12:12:50 -0700
committerDiva Canto2015-08-08 12:12:50 -0700
commit959872315f67a1a33a2bae7330749f7dd74a4774 (patch)
treee31f6900453e77815859767cb2331d0412ec5b57 /OpenSim/ApplicationPlugins/RemoteController
parentHave osAvatarName2Key check the cache first, even for foreign users (diff)
downloadopensim-SC-959872315f67a1a33a2bae7330749f7dd74a4774.zip
opensim-SC-959872315f67a1a33a2bae7330749f7dd74a4774.tar.gz
opensim-SC-959872315f67a1a33a2bae7330749f7dd74a4774.tar.bz2
opensim-SC-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 'OpenSim/ApplicationPlugins/RemoteController')
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs29
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);