The first 2 handlers for the XInventory system.
parent
c76c80a28a
commit
bc68390b14
|
@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Server.Handlers.Base;
|
using OpenSim.Server.Handlers.Base;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
namespace OpenSim.Server.Handlers.Asset
|
namespace OpenSim.Server.Handlers.Asset
|
||||||
{
|
{
|
||||||
|
@ -193,6 +194,14 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
{
|
{
|
||||||
Dictionary<string,object> result = new Dictionary<string,object>();
|
Dictionary<string,object> result = new Dictionary<string,object>();
|
||||||
|
|
||||||
|
if (!request.ContainsKey("PRINCIPAL"))
|
||||||
|
return FailureResult();
|
||||||
|
|
||||||
|
if(m_InventoryService.CreateUserInventory(new UUID(request["PRINCIPAL"].ToString())))
|
||||||
|
result["RESULT"] = "True";
|
||||||
|
else
|
||||||
|
result["RESULT"] = "False";
|
||||||
|
|
||||||
string xmlString = ServerUtils.BuildXmlResponse(result);
|
string xmlString = ServerUtils.BuildXmlResponse(result);
|
||||||
m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
|
m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
|
||||||
UTF8Encoding encoding = new UTF8Encoding();
|
UTF8Encoding encoding = new UTF8Encoding();
|
||||||
|
@ -203,6 +212,15 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
{
|
{
|
||||||
Dictionary<string,object> result = new Dictionary<string,object>();
|
Dictionary<string,object> result = new Dictionary<string,object>();
|
||||||
|
|
||||||
|
if (!request.ContainsKey("PRINCIPAL"))
|
||||||
|
return FailureResult();
|
||||||
|
|
||||||
|
|
||||||
|
List<InventoryFolderBase> folders = m_InventoryService.GetInventorySkeleton(new UUID(request["PRINCIPAL"].ToString()));
|
||||||
|
|
||||||
|
foreach (InventoryFolderBase f in folders)
|
||||||
|
result[f.ID.ToString()] = EncodeFolder(f);
|
||||||
|
|
||||||
string xmlString = ServerUtils.BuildXmlResponse(result);
|
string xmlString = ServerUtils.BuildXmlResponse(result);
|
||||||
m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
|
m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
|
||||||
UTF8Encoding encoding = new UTF8Encoding();
|
UTF8Encoding encoding = new UTF8Encoding();
|
||||||
|
@ -378,5 +396,61 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
UTF8Encoding encoding = new UTF8Encoding();
|
UTF8Encoding encoding = new UTF8Encoding();
|
||||||
return encoding.GetBytes(xmlString);
|
return encoding.GetBytes(xmlString);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Dictionary<string, object> EncodeFolder(InventoryFolderBase f)
|
||||||
|
{
|
||||||
|
Dictionary<string, object> ret = new Dictionary<string, object>();
|
||||||
|
|
||||||
|
ret["ParentID"] = f.ParentID.ToString();
|
||||||
|
ret["Type"] = f.Type.ToString();
|
||||||
|
ret["Version"] = f.Version.ToString();
|
||||||
|
ret["Name"] = f.Name;
|
||||||
|
ret["Owner"] = f.Owner.ToString();
|
||||||
|
ret["ID"] = f.ID.ToString();
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private InventoryFolderBase BuildFolder(Dictionary<string,object> data)
|
||||||
|
{
|
||||||
|
InventoryFolderBase folder = new InventoryFolderBase();
|
||||||
|
|
||||||
|
folder.ParentID = new UUID(data["ParentID"].ToString());
|
||||||
|
folder.Type = short.Parse(data["Type"].ToString());
|
||||||
|
folder.Version = ushort.Parse(data["Version"].ToString());
|
||||||
|
folder.Name = data["Name"].ToString();
|
||||||
|
folder.Owner = new UUID(data["Owner"].ToString());
|
||||||
|
folder.ID = new UUID(data["ID"].ToString());
|
||||||
|
|
||||||
|
return folder;
|
||||||
|
}
|
||||||
|
|
||||||
|
private InventoryItemBase BuildItem(Dictionary<string,object> data)
|
||||||
|
{
|
||||||
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
|
|
||||||
|
item.AssetID = new UUID(data["AssetID"].ToString());
|
||||||
|
item.AssetType = int.Parse(data["AssetType"].ToString());
|
||||||
|
item.Name = data["Name"].ToString();
|
||||||
|
item.Owner = new UUID(data["Owner"].ToString());
|
||||||
|
item.ID = new UUID(data["ID"].ToString());
|
||||||
|
item.InvType = int.Parse(data["InvType"].ToString());
|
||||||
|
item.Folder = new UUID(data["Folder"].ToString());
|
||||||
|
item.CreatorId = data["CreatorId"].ToString();
|
||||||
|
item.Description = data["Description"].ToString();
|
||||||
|
item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
|
||||||
|
item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
|
||||||
|
item.BasePermissions = uint.Parse(data["BasePermissions"].ToString());
|
||||||
|
item.EveryOnePermissions = uint.Parse(data["EveryOnePermissions"].ToString());
|
||||||
|
item.GroupPermissions = uint.Parse(data["GroupPermissions"].ToString());
|
||||||
|
item.GroupID = new UUID(data["GroupID"].ToString());
|
||||||
|
item.GroupOwned = bool.Parse(data["GroupOwned"].ToString());
|
||||||
|
item.SalePrice = int.Parse(data["SalePrice"].ToString());
|
||||||
|
item.SaleType = byte.Parse(data["SaleType"].ToString());
|
||||||
|
item.Flags = uint.Parse(data["Flags"].ToString());
|
||||||
|
item.CreationDate = int.Parse(data["CreationDate"].ToString());
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -490,7 +490,7 @@ namespace OpenSim.Services.Connectors
|
||||||
return replyData;
|
return replyData;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryFolderBase BuildFolder(Dictionary<string,object> data)
|
private InventoryFolderBase BuildFolder(Dictionary<string,object> data)
|
||||||
{
|
{
|
||||||
InventoryFolderBase folder = new InventoryFolderBase();
|
InventoryFolderBase folder = new InventoryFolderBase();
|
||||||
|
|
||||||
|
@ -504,7 +504,7 @@ namespace OpenSim.Services.Connectors
|
||||||
return folder;
|
return folder;
|
||||||
}
|
}
|
||||||
|
|
||||||
InventoryItemBase BuildItem(Dictionary<string,object> data)
|
private InventoryItemBase BuildItem(Dictionary<string,object> data)
|
||||||
{
|
{
|
||||||
InventoryItemBase item = new InventoryItemBase();
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue