aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers
diff options
context:
space:
mode:
authorJohn Hurliman2010-01-12 10:27:21 -0800
committerJohn Hurliman2010-01-12 10:27:21 -0800
commita8b1a57cd11facdf2c5c583cfa766a44fe5f99c5 (patch)
treebf12b759e693d6b99494dfa19fb23e13488dd977 /OpenSim/Server/Handlers
parentBug in llGetNumberOfPrims always returns to script when no clients are connec... (diff)
parentAdd the option to reject duplicate region names (diff)
downloadopensim-SC-a8b1a57cd11facdf2c5c583cfa766a44fe5f99c5.zip
opensim-SC-a8b1a57cd11facdf2c5c583cfa766a44fe5f99c5.tar.gz
opensim-SC-a8b1a57cd11facdf2c5c583cfa766a44fe5f99c5.tar.bz2
opensim-SC-a8b1a57cd11facdf2c5c583cfa766a44fe5f99c5.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Server/Handlers')
-rw-r--r--OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs74
1 files changed, 74 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
index b48e30e..c7d5ff1 100644
--- a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
+++ b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
@@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces;
38using OpenSim.Framework.Servers.HttpServer; 38using OpenSim.Framework.Servers.HttpServer;
39using OpenSim.Server.Handlers.Base; 39using OpenSim.Server.Handlers.Base;
40using log4net; 40using log4net;
41using OpenMetaverse;
41 42
42namespace OpenSim.Server.Handlers.Asset 43namespace OpenSim.Server.Handlers.Asset
43{ 44{
@@ -193,6 +194,14 @@ namespace OpenSim.Server.Handlers.Asset
193 { 194 {
194 Dictionary<string,object> result = new Dictionary<string,object>(); 195 Dictionary<string,object> result = new Dictionary<string,object>();
195 196
197 if (!request.ContainsKey("PRINCIPAL"))
198 return FailureResult();
199
200 if(m_InventoryService.CreateUserInventory(new UUID(request["PRINCIPAL"].ToString())))
201 result["RESULT"] = "True";
202 else
203 result["RESULT"] = "False";
204
196 string xmlString = ServerUtils.BuildXmlResponse(result); 205 string xmlString = ServerUtils.BuildXmlResponse(result);
197 m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); 206 m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
198 UTF8Encoding encoding = new UTF8Encoding(); 207 UTF8Encoding encoding = new UTF8Encoding();
@@ -203,6 +212,15 @@ namespace OpenSim.Server.Handlers.Asset
203 { 212 {
204 Dictionary<string,object> result = new Dictionary<string,object>(); 213 Dictionary<string,object> result = new Dictionary<string,object>();
205 214
215 if (!request.ContainsKey("PRINCIPAL"))
216 return FailureResult();
217
218
219 List<InventoryFolderBase> folders = m_InventoryService.GetInventorySkeleton(new UUID(request["PRINCIPAL"].ToString()));
220
221 foreach (InventoryFolderBase f in folders)
222 result[f.ID.ToString()] = EncodeFolder(f);
223
206 string xmlString = ServerUtils.BuildXmlResponse(result); 224 string xmlString = ServerUtils.BuildXmlResponse(result);
207 m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); 225 m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
208 UTF8Encoding encoding = new UTF8Encoding(); 226 UTF8Encoding encoding = new UTF8Encoding();
@@ -378,5 +396,61 @@ namespace OpenSim.Server.Handlers.Asset
378 UTF8Encoding encoding = new UTF8Encoding(); 396 UTF8Encoding encoding = new UTF8Encoding();
379 return encoding.GetBytes(xmlString); 397 return encoding.GetBytes(xmlString);
380 } 398 }
399
400 private Dictionary<string, object> EncodeFolder(InventoryFolderBase f)
401 {
402 Dictionary<string, object> ret = new Dictionary<string, object>();
403
404 ret["ParentID"] = f.ParentID.ToString();
405 ret["Type"] = f.Type.ToString();
406 ret["Version"] = f.Version.ToString();
407 ret["Name"] = f.Name;
408 ret["Owner"] = f.Owner.ToString();
409 ret["ID"] = f.ID.ToString();
410
411 return ret;
412 }
413
414 private InventoryFolderBase BuildFolder(Dictionary<string,object> data)
415 {
416 InventoryFolderBase folder = new InventoryFolderBase();
417
418 folder.ParentID = new UUID(data["ParentID"].ToString());
419 folder.Type = short.Parse(data["Type"].ToString());
420 folder.Version = ushort.Parse(data["Version"].ToString());
421 folder.Name = data["Name"].ToString();
422 folder.Owner = new UUID(data["Owner"].ToString());
423 folder.ID = new UUID(data["ID"].ToString());
424
425 return folder;
426 }
427
428 private InventoryItemBase BuildItem(Dictionary<string,object> data)
429 {
430 InventoryItemBase item = new InventoryItemBase();
431
432 item.AssetID = new UUID(data["AssetID"].ToString());
433 item.AssetType = int.Parse(data["AssetType"].ToString());
434 item.Name = data["Name"].ToString();
435 item.Owner = new UUID(data["Owner"].ToString());
436 item.ID = new UUID(data["ID"].ToString());
437 item.InvType = int.Parse(data["InvType"].ToString());
438 item.Folder = new UUID(data["Folder"].ToString());
439 item.CreatorId = data["CreatorId"].ToString();
440 item.Description = data["Description"].ToString();
441 item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
442 item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
443 item.BasePermissions = uint.Parse(data["BasePermissions"].ToString());
444 item.EveryOnePermissions = uint.Parse(data["EveryOnePermissions"].ToString());
445 item.GroupPermissions = uint.Parse(data["GroupPermissions"].ToString());
446 item.GroupID = new UUID(data["GroupID"].ToString());
447 item.GroupOwned = bool.Parse(data["GroupOwned"].ToString());
448 item.SalePrice = int.Parse(data["SalePrice"].ToString());
449 item.SaleType = byte.Parse(data["SaleType"].ToString());
450 item.Flags = uint.Parse(data["Flags"].ToString());
451 item.CreationDate = int.Parse(data["CreationDate"].ToString());
452
453 return item;
454 }
381 } 455 }
382} 456}