From 82f8ecf6738aba335c8ff410840a0758673af6f9 Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 13 Aug 2007 13:39:24 +0000 Subject: Some work to prepare for inventory server. --- OpenSim/Framework/UserManager/UserManagerBase.cs | 52 ++++++++++++++---------- 1 file changed, 31 insertions(+), 21 deletions(-) (limited to 'OpenSim/Framework/UserManager/UserManagerBase.cs') diff --git a/OpenSim/Framework/UserManager/UserManagerBase.cs b/OpenSim/Framework/UserManager/UserManagerBase.cs index 41744bd..64c3be1 100644 --- a/OpenSim/Framework/UserManager/UserManagerBase.cs +++ b/OpenSim/Framework/UserManager/UserManagerBase.cs @@ -418,6 +418,31 @@ namespace OpenSim.Framework.UserManagement return inventoryLibOwner; } + protected virtual AgentInventory GetUsersInventory(LLUUID agentID) + { + AgentInventory userInventory = new AgentInventory(); + userInventory.CreateRootFolder(agentID, false); + + return userInventory; + } + + protected virtual ArrayList CreateInventoryArray(AgentInventory userInventory) + { + ArrayList AgentInventoryArray = new ArrayList(); + Hashtable TempHash; + foreach (InventoryFolder InvFolder in userInventory.InventoryFolders.Values) + { + TempHash = new Hashtable(); + TempHash["name"] = InvFolder.FolderName; + TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated(); + TempHash["version"] = (Int32)InvFolder.Version; + TempHash["type_default"] = (Int32)InvFolder.DefaultType; + TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated(); + AgentInventoryArray.Add(TempHash); + } + return AgentInventoryArray; + } + /// /// Customises the login response and fills in missing values. /// @@ -481,39 +506,24 @@ namespace OpenSim.Framework.UserManagement try { - - LLUUID AgentID = userProfile.UUID; + LLUUID agentID = userProfile.UUID; // Inventory Library Section - ArrayList AgentInventoryArray = new ArrayList(); - Hashtable TempHash; - - AgentInventory Library = new AgentInventory(); - Library.CreateRootFolder(AgentID, false); - - foreach (InventoryFolder InvFolder in Library.InventoryFolders.Values) - { - TempHash = new Hashtable(); - TempHash["name"] = InvFolder.FolderName; - TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated(); - TempHash["version"] = (Int32)InvFolder.Version; - TempHash["type_default"] = (Int32)InvFolder.DefaultType; - TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated(); - AgentInventoryArray.Add(TempHash); - } + AgentInventory userInventory = this.GetUsersInventory(agentID); + ArrayList AgentInventoryArray = this.CreateInventoryArray(userInventory); Hashtable InventoryRootHash = new Hashtable(); - InventoryRootHash["folder_id"] = Library.InventoryRoot.FolderID.ToStringHyphenated(); + InventoryRootHash["folder_id"] = userInventory.InventoryRoot.FolderID.ToStringHyphenated(); ArrayList InventoryRoot = new ArrayList(); InventoryRoot.Add(InventoryRootHash); - userProfile.rootInventoryFolderID = Library.InventoryRoot.FolderID; + userProfile.rootInventoryFolderID = userInventory.InventoryRoot.FolderID; // Circuit Code uint circode = (uint)(Util.RandomClass.Next()); logResponse.Lastname = userProfile.surname; logResponse.Firstname = userProfile.username; - logResponse.AgentID = AgentID.ToStringHyphenated(); + logResponse.AgentID = agentID.ToStringHyphenated(); logResponse.SessionID = userProfile.currentAgent.sessionID.ToStringHyphenated(); logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToStringHyphenated(); logResponse.InventoryRoot = InventoryRoot; -- cgit v1.1