diff options
author | Justin Clarke Casey | 2007-12-31 03:33:21 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2007-12-31 03:33:21 +0000 |
commit | 60fa75ac0466101654c6043d0366965da34c35bc (patch) | |
tree | 97915b0d42aba2e119025cad6f154a478fab09ca /OpenSim/Framework/Communications/LoginService.cs | |
parent | * Added a catch for RemotingErrors on the TCP init (diff) | |
download | opensim-SC-60fa75ac0466101654c6043d0366965da34c35bc.zip opensim-SC-60fa75ac0466101654c6043d0366965da34c35bc.tar.gz opensim-SC-60fa75ac0466101654c6043d0366965da34c35bc.tar.bz2 opensim-SC-60fa75ac0466101654c6043d0366965da34c35bc.tar.xz |
Standard library folders can now be configued in the xml in inventory/OpenSimLibrary - no hardcoded changes are required. For some reason, all the folders are currently
showing up as texture folders, even though they are configured with the same types as the agent inventory folders. This should be resolved soon.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Communications/LoginService.cs | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs index bef20f7..a9d5d8b 100644 --- a/OpenSim/Framework/Communications/LoginService.cs +++ b/OpenSim/Framework/Communications/LoginService.cs | |||
@@ -28,9 +28,12 @@ | |||
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Collections; | 30 | using System.Collections; |
31 | using System.Collections.Generic; | ||
31 | using System.Threading; | 32 | using System.Threading; |
32 | using libsecondlife; | 33 | using libsecondlife; |
33 | using Nwc.XmlRpc; | 34 | using Nwc.XmlRpc; |
35 | |||
36 | using OpenSim.Framework.Communications.Cache; | ||
34 | using OpenSim.Framework.Console; | 37 | using OpenSim.Framework.Console; |
35 | 38 | ||
36 | namespace OpenSim.Framework.UserManagement | 39 | namespace OpenSim.Framework.UserManagement |
@@ -40,10 +43,18 @@ namespace OpenSim.Framework.UserManagement | |||
40 | protected string m_welcomeMessage = "Welcome to OpenSim"; | 43 | protected string m_welcomeMessage = "Welcome to OpenSim"; |
41 | protected UserManagerBase m_userManager = null; | 44 | protected UserManagerBase m_userManager = null; |
42 | protected Mutex m_loginMutex = new Mutex(false); | 45 | protected Mutex m_loginMutex = new Mutex(false); |
46 | |||
47 | /// <summary> | ||
48 | /// Used during login to send the skeleton of the OpenSim Library to the client. | ||
49 | /// </summary> | ||
50 | protected LibraryRootFolder m_libraryRootFolder; | ||
43 | 51 | ||
44 | public LoginService(UserManagerBase userManager, string welcomeMess) | 52 | public LoginService( |
53 | UserManagerBase userManager, LibraryRootFolder libraryRootFolder, string welcomeMess) | ||
45 | { | 54 | { |
46 | m_userManager = userManager; | 55 | m_userManager = userManager; |
56 | m_libraryRootFolder = libraryRootFolder; | ||
57 | |||
47 | if (welcomeMess != "") | 58 | if (welcomeMess != "") |
48 | { | 59 | { |
49 | m_welcomeMessage = welcomeMess; | 60 | m_welcomeMessage = welcomeMess; |
@@ -255,30 +266,27 @@ namespace OpenSim.Framework.UserManagement | |||
255 | } | 266 | } |
256 | 267 | ||
257 | /// <summary> | 268 | /// <summary> |
258 | /// | 269 | /// Converts the inventory library skeleton into the form required by the rpc request. |
259 | /// </summary> | 270 | /// </summary> |
260 | /// <returns></returns> | 271 | /// <returns></returns> |
261 | protected virtual ArrayList GetInventoryLibrary() | 272 | protected virtual ArrayList GetInventoryLibrary() |
262 | { | 273 | { |
263 | //return new ArrayList(); | 274 | Dictionary<LLUUID, InventoryFolderImpl> rootFolders |
264 | Hashtable TempHash = new Hashtable(); | 275 | = m_libraryRootFolder.RequestSelfAndDescendentFolders(); |
265 | TempHash["name"] = "OpenSim Library"; | 276 | ArrayList folderHashes = new ArrayList(); |
266 | TempHash["parent_id"] = LLUUID.Zero.ToString(); | 277 | |
267 | TempHash["version"] = 1; | 278 | foreach (InventoryFolderBase folder in rootFolders.Values) |
268 | TempHash["type_default"] = -1; | 279 | { |
269 | TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba000"; | 280 | Hashtable TempHash = new Hashtable(); |
270 | ArrayList temp = new ArrayList(); | 281 | TempHash["name"] = folder.name; |
271 | temp.Add(TempHash); | 282 | TempHash["parent_id"] = folder.parentID.ToString(); |
272 | 283 | TempHash["version"] = folder.version; | |
273 | TempHash = new Hashtable(); | 284 | TempHash["type_default"] = folder.type; |
274 | TempHash["name"] = "Texture Library"; | 285 | TempHash["folder_id"] = folder.folderID.ToString(); |
275 | TempHash["parent_id"] = "00000112-000f-0000-0000-000100bba000"; | 286 | folderHashes.Add(TempHash); |
276 | TempHash["version"] = 1; | 287 | } |
277 | TempHash["type_default"] = -1; | 288 | |
278 | TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba001"; | 289 | return folderHashes; |
279 | temp.Add(TempHash); | ||
280 | |||
281 | return temp; | ||
282 | } | 290 | } |
283 | 291 | ||
284 | /// <summary> | 292 | /// <summary> |