mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 18:55:58 +08:00
cosmetics
This commit is contained in:
@@ -26,8 +26,6 @@
|
||||
*/
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Reflection;
|
||||
|
||||
using OpenMetaverse;
|
||||
@@ -41,9 +39,7 @@ namespace OpenSim.Services.Connectors.InstantMessage
|
||||
{
|
||||
public class InstantMessageServiceConnector
|
||||
{
|
||||
private static readonly ILog m_log =
|
||||
LogManager.GetLogger(
|
||||
MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
/// <summary>
|
||||
/// This actually does the XMLRPC Request
|
||||
@@ -56,9 +52,7 @@ namespace OpenSim.Services.Connectors.InstantMessage
|
||||
Hashtable xmlrpcdata = ConvertGridInstantMessageToXMLRPC(im, messageKey);
|
||||
xmlrpcdata["region_handle"] = 0;
|
||||
|
||||
ArrayList SendParams = new ArrayList();
|
||||
SendParams.Add(xmlrpcdata);
|
||||
XmlRpcRequest GridReq = new XmlRpcRequest("grid_instant_message", SendParams);
|
||||
XmlRpcRequest GridReq = new("grid_instant_message", new ArrayList { xmlrpcdata });
|
||||
try
|
||||
{
|
||||
using HttpClient hclient = WebUtil.GetNewGlobalHttpClient(10000);
|
||||
@@ -68,16 +62,7 @@ namespace OpenSim.Services.Connectors.InstantMessage
|
||||
|
||||
if (responseData.ContainsKey("success"))
|
||||
{
|
||||
if ((string)responseData["success"] == "TRUE")
|
||||
{
|
||||
//m_log.DebugFormat("[XXX] Success");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//m_log.DebugFormat("[XXX] Fail");
|
||||
return false;
|
||||
}
|
||||
return ((string)responseData["success"] == "TRUE");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -100,33 +85,31 @@ namespace OpenSim.Services.Connectors.InstantMessage
|
||||
/// <returns>Hashtable containing the XMLRPC request</returns>
|
||||
protected static Hashtable ConvertGridInstantMessageToXMLRPC(GridInstantMessage msg, string messageKey)
|
||||
{
|
||||
Hashtable gim = new Hashtable();
|
||||
gim["from_agent_id"] = msg.fromAgentID.ToString();
|
||||
// Kept for compatibility
|
||||
gim["from_agent_session"] = UUID.Zero.ToString();
|
||||
gim["to_agent_id"] = msg.toAgentID.ToString();
|
||||
gim["im_session_id"] = msg.imSessionID.ToString();
|
||||
gim["timestamp"] = msg.timestamp.ToString();
|
||||
gim["from_agent_name"] = msg.fromAgentName;
|
||||
gim["message"] = msg.message;
|
||||
byte[] dialogdata = new byte[1]; dialogdata[0] = msg.dialog;
|
||||
gim["dialog"] = Convert.ToBase64String(dialogdata, Base64FormattingOptions.None);
|
||||
Hashtable gim = new()
|
||||
{
|
||||
["from_agent_id"] = msg.fromAgentID.ToString(),
|
||||
// Kept for compatibility
|
||||
["from_agent_session"] = UUID.Zero.ToString(),
|
||||
["to_agent_id"] = msg.toAgentID.ToString(),
|
||||
["im_session_id"] = msg.imSessionID.ToString(),
|
||||
["timestamp"] = msg.timestamp.ToString(),
|
||||
["from_agent_name"] = msg.fromAgentName,
|
||||
["message"] = msg.message,
|
||||
["from_group"] = msg.fromGroup ? "TRUE" : "FALSE",
|
||||
["parent_estate_id"] = msg.ParentEstateID.ToString(),
|
||||
["position_x"] = msg.Position.X.ToString(),
|
||||
["position_y"] = msg.Position.Y.ToString(),
|
||||
["position_z"] = msg.Position.Z.ToString(),
|
||||
["region_id"] = msg.RegionID.ToString(),
|
||||
|
||||
if (msg.fromGroup)
|
||||
gim["from_group"] = "TRUE";
|
||||
else
|
||||
gim["from_group"] = "FALSE";
|
||||
byte[] offlinedata = new byte[1]; offlinedata[0] = msg.offline;
|
||||
gim["offline"] = Convert.ToBase64String(offlinedata, Base64FormattingOptions.None);
|
||||
gim["parent_estate_id"] = msg.ParentEstateID.ToString();
|
||||
gim["position_x"] = msg.Position.X.ToString();
|
||||
gim["position_y"] = msg.Position.Y.ToString();
|
||||
gim["position_z"] = msg.Position.Z.ToString();
|
||||
gim["region_id"] = msg.RegionID.ToString();
|
||||
gim["binary_bucket"] = Convert.ToBase64String(msg.binaryBucket, Base64FormattingOptions.None);
|
||||
gim["region_id"] = new UUID(msg.RegionID).ToString();
|
||||
["binary_bucket"] = Convert.ToBase64String(msg.binaryBucket, Base64FormattingOptions.None),
|
||||
["region_id"] = new UUID(msg.RegionID).ToString(),
|
||||
|
||||
if (messageKey != String.Empty)
|
||||
["dialog"] = Convert.ToBase64String(new byte[] { msg.dialog }, Base64FormattingOptions.None),
|
||||
["offline"] = Convert.ToBase64String(new byte[] { msg.offline }, Base64FormattingOptions.None)
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(messageKey))
|
||||
gim["message_key"] = messageKey;
|
||||
|
||||
return gim;
|
||||
|
||||
@@ -40,9 +40,7 @@ namespace OpenSim.Services.InventoryService
|
||||
{
|
||||
public class XInventoryService : ServiceBase, IInventoryService
|
||||
{
|
||||
private static readonly ILog m_log =
|
||||
LogManager.GetLogger(
|
||||
MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
protected IXInventoryData m_Database;
|
||||
protected bool m_AllowDelete = true;
|
||||
@@ -161,14 +159,15 @@ namespace OpenSim.Services.InventoryService
|
||||
|
||||
protected XInventoryFolder CreateFolder(UUID principalID, UUID parentID, int type, string name)
|
||||
{
|
||||
XInventoryFolder newFolder = new XInventoryFolder();
|
||||
|
||||
newFolder.folderName = name;
|
||||
newFolder.type = type;
|
||||
newFolder.version = 1;
|
||||
newFolder.folderID = UUID.Random();
|
||||
newFolder.agentID = principalID;
|
||||
newFolder.parentFolderID = parentID;
|
||||
var newFolder = new XInventoryFolder
|
||||
{
|
||||
folderName = name,
|
||||
type = type,
|
||||
version = 1,
|
||||
folderID = UUID.Random(),
|
||||
agentID = principalID,
|
||||
parentFolderID = parentID
|
||||
};
|
||||
|
||||
m_Database.StoreFolder(newFolder);
|
||||
|
||||
@@ -207,7 +206,7 @@ namespace OpenSim.Services.InventoryService
|
||||
if (allFolders.Length == 0)
|
||||
return null;
|
||||
|
||||
List<InventoryFolderBase> folders = new List<InventoryFolderBase>();
|
||||
List<InventoryFolderBase> folders = new();
|
||||
|
||||
foreach (XInventoryFolder x in allFolders)
|
||||
{
|
||||
@@ -237,8 +236,7 @@ namespace OpenSim.Services.InventoryService
|
||||
}
|
||||
}
|
||||
|
||||
if (root == null) // oops
|
||||
root = folders[0];
|
||||
root ??= folders[0]; //oops
|
||||
|
||||
return ConvertToOpenSim(root);
|
||||
}
|
||||
@@ -292,10 +290,12 @@ namespace OpenSim.Services.InventoryService
|
||||
// by ID.
|
||||
//
|
||||
//m_log.DebugFormat("[XINVENTORY SERVICE]: Fetch contents for folder {0}", folderID.ToString());
|
||||
InventoryCollection inventory = new InventoryCollection();
|
||||
inventory.OwnerID = principalID;
|
||||
inventory.Folders = new List<InventoryFolderBase>();
|
||||
inventory.Items = new List<InventoryItemBase>();
|
||||
InventoryCollection inventory = new()
|
||||
{
|
||||
OwnerID = principalID,
|
||||
Folders = new List<InventoryFolderBase>(),
|
||||
Items = new List<InventoryItemBase>()
|
||||
};
|
||||
|
||||
XInventoryFolder[] folders = m_Database.GetFolders(
|
||||
new string[] { "parentFolderID"},
|
||||
@@ -344,7 +344,7 @@ namespace OpenSim.Services.InventoryService
|
||||
|
||||
// Since we probably don't get a valid principal here, either ...
|
||||
//
|
||||
List<InventoryItemBase> invItems = new List<InventoryItemBase>();
|
||||
List<InventoryItemBase> invItems = new();
|
||||
|
||||
XInventoryItem[] items = m_Database.GetItems(
|
||||
new string[] { "parentFolderID" },
|
||||
@@ -460,8 +460,7 @@ namespace OpenSim.Services.InventoryService
|
||||
if (onlyIfTrash && !ParentIsTrashOrLost(id))
|
||||
continue;
|
||||
//m_log.InfoFormat("[XINVENTORY SERVICE]: Delete folder {0}", id);
|
||||
InventoryFolderBase f = new InventoryFolderBase();
|
||||
f.ID = id;
|
||||
InventoryFolderBase f = new() { ID = id };
|
||||
PurgeFolder(f, onlyIfTrash);
|
||||
m_Database.DeleteFolders("folderID", id.ToString());
|
||||
}
|
||||
@@ -642,7 +641,7 @@ namespace OpenSim.Services.InventoryService
|
||||
if (items.Length == 0)
|
||||
return new List<InventoryItemBase>();
|
||||
|
||||
List<InventoryItemBase> ret = new List<InventoryItemBase>();
|
||||
List<InventoryItemBase> ret = new();
|
||||
|
||||
foreach (XInventoryItem x in items)
|
||||
ret.Add(ConvertToOpenSim(x));
|
||||
@@ -664,97 +663,84 @@ namespace OpenSim.Services.InventoryService
|
||||
|
||||
// CM Helpers
|
||||
//
|
||||
protected InventoryFolderBase ConvertToOpenSim(XInventoryFolder folder)
|
||||
protected static InventoryFolderBase ConvertToOpenSim(XInventoryFolder folder)
|
||||
{
|
||||
InventoryFolderBase newFolder = new InventoryFolderBase();
|
||||
|
||||
newFolder.ParentID = folder.parentFolderID;
|
||||
newFolder.Type = (short)folder.type;
|
||||
//// Viewer can't understand anything that's not in it's LLFolderType enum
|
||||
//if (newFolder.Type == InventoryItemBase.SUITCASE_FOLDER_TYPE)
|
||||
// newFolder.Type = InventoryItemBase.SUITCASE_FOLDER_FAKE_TYPE;
|
||||
newFolder.Version = (ushort)folder.version;
|
||||
newFolder.Name = folder.folderName;
|
||||
newFolder.Owner = folder.agentID;
|
||||
newFolder.ID = folder.folderID;
|
||||
|
||||
return newFolder;
|
||||
return new InventoryFolderBase
|
||||
{
|
||||
ParentID = folder.parentFolderID,
|
||||
Type = (short)folder.type,
|
||||
Version = (ushort)folder.version,
|
||||
Name = folder.folderName,
|
||||
Owner = folder.agentID,
|
||||
ID = folder.folderID
|
||||
};
|
||||
}
|
||||
|
||||
protected XInventoryFolder ConvertFromOpenSim(InventoryFolderBase folder)
|
||||
protected static XInventoryFolder ConvertFromOpenSim(InventoryFolderBase folder)
|
||||
{
|
||||
XInventoryFolder newFolder = new XInventoryFolder();
|
||||
|
||||
newFolder.parentFolderID = folder.ParentID;
|
||||
newFolder.type = (int)folder.Type;
|
||||
newFolder.version = (int)folder.Version;
|
||||
newFolder.folderName = folder.Name;
|
||||
newFolder.agentID = folder.Owner;
|
||||
newFolder.folderID = folder.ID;
|
||||
|
||||
return newFolder;
|
||||
return new XInventoryFolder
|
||||
{
|
||||
parentFolderID = folder.ParentID,
|
||||
type = (int)folder.Type,
|
||||
version = (int)folder.Version,
|
||||
folderName = folder.Name,
|
||||
agentID = folder.Owner,
|
||||
folderID = folder.ID
|
||||
};
|
||||
}
|
||||
|
||||
protected InventoryItemBase ConvertToOpenSim(XInventoryItem item)
|
||||
protected static InventoryItemBase ConvertToOpenSim(XInventoryItem item)
|
||||
{
|
||||
InventoryItemBase newItem = new InventoryItemBase();
|
||||
|
||||
newItem.AssetID = item.assetID;
|
||||
newItem.AssetType = item.assetType;
|
||||
newItem.Name = item.inventoryName;
|
||||
newItem.Owner = item.avatarID;
|
||||
newItem.ID = item.inventoryID;
|
||||
newItem.InvType = item.invType;
|
||||
newItem.Folder = item.parentFolderID;
|
||||
newItem.CreatorIdentification = item.creatorID;
|
||||
newItem.Description = item.inventoryDescription;
|
||||
newItem.NextPermissions = (uint)item.inventoryNextPermissions;
|
||||
newItem.CurrentPermissions = (uint)item.inventoryCurrentPermissions;
|
||||
newItem.BasePermissions = (uint)item.inventoryBasePermissions;
|
||||
newItem.EveryOnePermissions = (uint)item.inventoryEveryOnePermissions;
|
||||
newItem.GroupPermissions = (uint)item.inventoryGroupPermissions;
|
||||
newItem.GroupID = item.groupID;
|
||||
if (item.groupOwned == 0)
|
||||
newItem.GroupOwned = false;
|
||||
else
|
||||
newItem.GroupOwned = true;
|
||||
newItem.SalePrice = item.salePrice;
|
||||
newItem.SaleType = (byte)item.saleType;
|
||||
newItem.Flags = (uint)item.flags;
|
||||
newItem.CreationDate = item.creationDate;
|
||||
|
||||
return newItem;
|
||||
return new InventoryItemBase
|
||||
{
|
||||
AssetID = item.assetID,
|
||||
AssetType = item.assetType,
|
||||
Name = item.inventoryName,
|
||||
Owner = item.avatarID,
|
||||
ID = item.inventoryID,
|
||||
InvType = item.invType,
|
||||
Folder = item.parentFolderID,
|
||||
CreatorIdentification = item.creatorID,
|
||||
Description = item.inventoryDescription,
|
||||
NextPermissions = (uint)item.inventoryNextPermissions,
|
||||
CurrentPermissions = (uint)item.inventoryCurrentPermissions,
|
||||
BasePermissions = (uint)item.inventoryBasePermissions,
|
||||
EveryOnePermissions = (uint)item.inventoryEveryOnePermissions,
|
||||
GroupPermissions = (uint)item.inventoryGroupPermissions,
|
||||
GroupID = item.groupID,
|
||||
GroupOwned = item.groupOwned != 0,
|
||||
SalePrice = item.salePrice,
|
||||
SaleType = (byte)item.saleType,
|
||||
Flags = (uint)item.flags,
|
||||
CreationDate = item.creationDate
|
||||
};
|
||||
}
|
||||
|
||||
protected XInventoryItem ConvertFromOpenSim(InventoryItemBase item)
|
||||
protected static XInventoryItem ConvertFromOpenSim(InventoryItemBase item)
|
||||
{
|
||||
XInventoryItem newItem = new XInventoryItem();
|
||||
|
||||
newItem.assetID = item.AssetID;
|
||||
newItem.assetType = item.AssetType;
|
||||
newItem.inventoryName = item.Name;
|
||||
newItem.avatarID = item.Owner;
|
||||
newItem.inventoryID = item.ID;
|
||||
newItem.invType = item.InvType;
|
||||
newItem.parentFolderID = item.Folder;
|
||||
newItem.creatorID = item.CreatorIdentification;
|
||||
newItem.inventoryDescription = item.Description;
|
||||
newItem.inventoryNextPermissions = (int)item.NextPermissions;
|
||||
newItem.inventoryCurrentPermissions = (int)item.CurrentPermissions;
|
||||
newItem.inventoryBasePermissions = (int)item.BasePermissions;
|
||||
newItem.inventoryEveryOnePermissions = (int)item.EveryOnePermissions;
|
||||
newItem.inventoryGroupPermissions = (int)item.GroupPermissions;
|
||||
newItem.groupID = item.GroupID;
|
||||
if (item.GroupOwned)
|
||||
newItem.groupOwned = 1;
|
||||
else
|
||||
newItem.groupOwned = 0;
|
||||
newItem.salePrice = item.SalePrice;
|
||||
newItem.saleType = (int)item.SaleType;
|
||||
newItem.flags = (int)item.Flags;
|
||||
newItem.creationDate = item.CreationDate;
|
||||
|
||||
return newItem;
|
||||
return new XInventoryItem
|
||||
{
|
||||
assetID = item.AssetID,
|
||||
assetType = item.AssetType,
|
||||
inventoryName = item.Name,
|
||||
avatarID = item.Owner,
|
||||
inventoryID = item.ID,
|
||||
invType = item.InvType,
|
||||
parentFolderID = item.Folder,
|
||||
creatorID = item.CreatorIdentification,
|
||||
inventoryDescription = item.Description,
|
||||
inventoryNextPermissions = (int)item.NextPermissions,
|
||||
inventoryCurrentPermissions = (int)item.CurrentPermissions,
|
||||
inventoryBasePermissions = (int)item.BasePermissions,
|
||||
inventoryEveryOnePermissions = (int)item.EveryOnePermissions,
|
||||
inventoryGroupPermissions = (int)item.GroupPermissions,
|
||||
groupID = item.GroupID,
|
||||
groupOwned = item.GroupOwned ? 1 : 0,
|
||||
salePrice = item.SalePrice,
|
||||
saleType = (int)item.SaleType,
|
||||
flags = (int)item.Flags,
|
||||
creationDate = item.CreationDate
|
||||
};
|
||||
}
|
||||
|
||||
private bool ParentIsTrash(UUID folderID)
|
||||
@@ -795,7 +781,7 @@ namespace OpenSim.Services.InventoryService
|
||||
|
||||
UUID parentFolder = folder[0].parentFolderID;
|
||||
|
||||
while (!parentFolder.IsZero())
|
||||
while (parentFolder.IsNotZero())
|
||||
{
|
||||
XInventoryFolder[] parent = m_Database.GetFolders(new string[] { "folderID" }, new string[] { parentFolder.ToString() });
|
||||
if (parent.Length < 1)
|
||||
|
||||
Reference in New Issue
Block a user