diff options
Diffstat (limited to 'OpenSim/Services/Connectors/Inventory')
-rw-r--r-- | OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs index 0cc1978..edf224f 100644 --- a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs +++ b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs | |||
@@ -455,6 +455,35 @@ namespace OpenSim.Services.Connectors | |||
455 | return int.Parse(ret["RESULT"].ToString()); | 455 | return int.Parse(ret["RESULT"].ToString()); |
456 | } | 456 | } |
457 | 457 | ||
458 | public Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(UUID userID) | ||
459 | { | ||
460 | Dictionary<string, object> ret = MakeRequest("GETSYSTEMFOLDERS", | ||
461 | new Dictionary<string, object> { | ||
462 | { "PRINCIPAL", userID.ToString() }, | ||
463 | }); | ||
464 | |||
465 | if (ret == null) | ||
466 | return new Dictionary<AssetType,InventoryFolderBase>(); | ||
467 | |||
468 | Dictionary<AssetType, InventoryFolderBase> sfolders = new Dictionary<AssetType, InventoryFolderBase>(); | ||
469 | |||
470 | try | ||
471 | { | ||
472 | foreach (KeyValuePair<string, object> kvp in ret) | ||
473 | { | ||
474 | InventoryFolderBase folder = BuildFolder((Dictionary<string, object>)(kvp.Value)); | ||
475 | short type = 0; | ||
476 | if (Int16.TryParse(kvp.Key, out type)) | ||
477 | sfolders.Add((AssetType)type, folder); | ||
478 | } | ||
479 | } | ||
480 | catch (Exception e) | ||
481 | { | ||
482 | m_log.DebugFormat("[XINVENTORY CONNECTOR STUB]: exception {0}", e.Message); | ||
483 | } | ||
484 | |||
485 | return sfolders; | ||
486 | } | ||
458 | 487 | ||
459 | // These are either obsolete or unused | 488 | // These are either obsolete or unused |
460 | // | 489 | // |