aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/UserServer
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Grid/UserServer')
-rw-r--r--OpenSim/Grid/UserServer/Main.cs19
-rw-r--r--OpenSim/Grid/UserServer/UserLoginService.cs50
2 files changed, 68 insertions, 1 deletions
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 779a72b..b00bb76 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -27,7 +27,9 @@
27*/ 27*/
28 28
29using System; 29using System;
30using System.Collections.Generic;
30using System.IO; 31using System.IO;
32using libsecondlife;
31using OpenSim.Framework; 33using OpenSim.Framework;
32using OpenSim.Framework.Console; 34using OpenSim.Framework.Console;
33using OpenSim.Framework.Servers; 35using OpenSim.Framework.Servers;
@@ -44,6 +46,7 @@ namespace OpenSim.Grid.UserServer
44 public UserLoginService m_loginService; 46 public UserLoginService m_loginService;
45 47
46 private LogBase m_console; 48 private LogBase m_console;
49 private LLUUID m_lastCreatedUser = LLUUID.Random();
47 50
48 [STAThread] 51 [STAThread]
49 public static void Main(string[] args) 52 public static void Main(string[] args)
@@ -123,7 +126,9 @@ namespace OpenSim.Grid.UserServer
123 126
124 tempMD5Passwd = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + ""); 127 tempMD5Passwd = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
125 128
126 m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY); 129 LLUUID userID = m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY);
130 RestObjectPoster.BeginPostObject<LLUUID>(m_userManager._config.InventoryUrl + "CreateInventory/", userID);
131 m_lastCreatedUser = userID;
127 break; 132 break;
128 } 133 }
129 } 134 }
@@ -145,9 +150,21 @@ namespace OpenSim.Grid.UserServer
145 m_console.Close(); 150 m_console.Close();
146 Environment.Exit(0); 151 Environment.Exit(0);
147 break; 152 break;
153
154 case "test-inventory":
155 // RestObjectPosterResponse<List<InventoryFolderBase>> requester = new RestObjectPosterResponse<List<InventoryFolderBase>>();
156 // requester.ReturnResponseVal = TestResponse;
157 // requester.BeginPostObject<LLUUID>(m_userManager._config.InventoryUrl + "RootFolders/", m_lastCreatedUser);
158 List<InventoryFolderBase> folders = SyncRestObjectPoster.BeginPostObject<LLUUID, List<InventoryFolderBase>>(m_userManager._config.InventoryUrl + "RootFolders/", m_lastCreatedUser);
159 break;
148 } 160 }
149 } 161 }
150 162
163 public void TestResponse(List<InventoryFolderBase> resp)
164 {
165 System.Console.WriteLine("response got");
166 }
167
151 /*private void ConfigDB(IGenericConfig configData) 168 /*private void ConfigDB(IGenericConfig configData)
152 { 169 {
153 try 170 try
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs
index 0af5790..d3164ad 100644
--- a/OpenSim/Grid/UserServer/UserLoginService.cs
+++ b/OpenSim/Grid/UserServer/UserLoginService.cs
@@ -28,12 +28,16 @@
28 28
29using System; 29using System;
30using System.Collections; 30using System.Collections;
31using System.Collections.Generic;
31using System.Net; 32using System.Net;
32using Nwc.XmlRpc; 33using Nwc.XmlRpc;
34using libsecondlife;
33using OpenSim.Framework; 35using OpenSim.Framework;
34using OpenSim.Framework.Console; 36using OpenSim.Framework.Console;
37using OpenSim.Framework.Servers;
35using OpenSim.Framework.Data; 38using OpenSim.Framework.Data;
36using OpenSim.Framework.UserManagement; 39using OpenSim.Framework.UserManagement;
40using InventoryFolder = OpenSim.Framework.InventoryFolder;
37 41
38namespace OpenSim.Grid.UserServer 42namespace OpenSim.Grid.UserServer
39{ 43{
@@ -189,5 +193,51 @@ namespace OpenSim.Grid.UserServer
189 193
190 } 194 }
191 } 195 }
196
197 protected override InventoryData CreateInventoryData(LLUUID userID)
198 {
199 List<InventoryFolderBase> folders = SyncRestObjectPoster.BeginPostObject<LLUUID, List<InventoryFolderBase>>(m_config.InventoryUrl + "RootFolders/", userID);
200 if (folders.Count > 0)
201 {
202 LLUUID rootID = LLUUID.Zero;
203 ArrayList AgentInventoryArray = new ArrayList();
204 Hashtable TempHash;
205 foreach (InventoryFolderBase InvFolder in folders)
206 {
207 if (InvFolder.parentID == LLUUID.Zero)
208 {
209 rootID = InvFolder.folderID;
210 }
211 TempHash = new Hashtable();
212 TempHash["name"] = InvFolder.name;
213 TempHash["parent_id"] = InvFolder.parentID.ToStringHyphenated();
214 TempHash["version"] = (Int32)InvFolder.version;
215 TempHash["type_default"] = (Int32)InvFolder.type;
216 TempHash["folder_id"] = InvFolder.folderID.ToStringHyphenated();
217 AgentInventoryArray.Add(TempHash);
218 }
219 return new InventoryData(AgentInventoryArray, rootID);
220 }
221 else
222 {
223 AgentInventory userInventory = new AgentInventory();
224 userInventory.CreateRootFolder(userID, false);
225
226 ArrayList AgentInventoryArray = new ArrayList();
227 Hashtable TempHash;
228 foreach (InventoryFolder InvFolder in userInventory.InventoryFolders.Values)
229 {
230 TempHash = new Hashtable();
231 TempHash["name"] = InvFolder.FolderName;
232 TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated();
233 TempHash["version"] = (Int32)InvFolder.Version;
234 TempHash["type_default"] = (Int32)InvFolder.DefaultType;
235 TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated();
236 AgentInventoryArray.Add(TempHash);
237 }
238
239 return new InventoryData(AgentInventoryArray, userInventory.InventoryRoot.FolderID);
240 }
241 }
192 } 242 }
193} \ No newline at end of file 243} \ No newline at end of file