mirror of
https://github.com/opensim/opensim.git
synced 2026-06-27 09:15:49 +08:00
Merge branch 'master' into careminster-presence-refactor
This commit is contained in:
@@ -2743,7 +2743,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
DirPlacesReplyPacket.StatusDataBlock[] status =
|
||||
new DirPlacesReplyPacket.StatusDataBlock[0];
|
||||
|
||||
int i = 0;
|
||||
foreach (DirPlacesReplyData d in data)
|
||||
{
|
||||
int idx = replies.Length;
|
||||
@@ -2779,7 +2778,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
|
||||
replies = new DirPlacesReplyPacket.QueryRepliesBlock[0];
|
||||
status = new DirPlacesReplyPacket.StatusDataBlock[0];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -223,4 +223,4 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
OnInstantMessage(null, msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -132,8 +132,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
{
|
||||
UUID toAgentID = new UUID(im.toAgentID);
|
||||
|
||||
//m_log.DebugFormat("[INSTANT MESSAGE]: Attempting delivery of IM from {0} to {1}", im.fromAgentName, toAgentID.ToString());
|
||||
|
||||
// Try root avatar only first
|
||||
foreach (Scene scene in m_Scenes)
|
||||
{
|
||||
@@ -176,6 +174,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||
}
|
||||
}
|
||||
|
||||
m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to {0} via XMLRPC", im.toAgentID);
|
||||
SendGridInstantMessageViaXMLRPC(im, result);
|
||||
|
||||
return;
|
||||
|
||||
@@ -32,7 +32,6 @@ using log4net;
|
||||
using Nini.Config;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Services.Interfaces;
|
||||
@@ -92,7 +91,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
m_TransferModule = m_Scenelist[0].RequestModuleInterface<IMessageTransferModule>();
|
||||
if (m_TransferModule == null)
|
||||
{
|
||||
m_log.Error("[INVENTORY TRANSFER] No Message transfer module found, transfers will be local only");
|
||||
m_log.Error("[INVENTORY TRANSFER]: No Message transfer module found, transfers will be local only");
|
||||
m_Enabled = false;
|
||||
|
||||
m_Scenelist.Clear();
|
||||
@@ -185,7 +184,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
{
|
||||
UUID folderID = new UUID(im.binaryBucket, 1);
|
||||
|
||||
m_log.DebugFormat("[AGENT INVENTORY]: Inserting original folder {0} "+
|
||||
m_log.DebugFormat("[INVENTORY TRANSFER]: Inserting original folder {0} "+
|
||||
"into agent {1}'s inventory",
|
||||
folderID, new UUID(im.toAgentID));
|
||||
|
||||
@@ -221,7 +220,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
|
||||
UUID itemID = new UUID(im.binaryBucket, 1);
|
||||
|
||||
m_log.DebugFormat("[AGENT INVENTORY]: (giving) Inserting item {0} "+
|
||||
m_log.DebugFormat("[INVENTORY TRANSFER]: (giving) Inserting item {0} "+
|
||||
"into agent {1}'s inventory",
|
||||
itemID, new UUID(im.toAgentID));
|
||||
|
||||
@@ -288,10 +287,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
// inventory is loaded. Courtesy of the above bulk update,
|
||||
// It will have been pushed to the client, too
|
||||
//
|
||||
|
||||
//CachedUserInfo userInfo =
|
||||
// scene.CommsManager.UserProfileCacheService.
|
||||
// GetUserDetails(client.AgentId);
|
||||
IInventoryService invService = scene.InventoryService;
|
||||
|
||||
InventoryFolderBase trashFolder =
|
||||
|
||||
@@ -27,15 +27,12 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using OpenMetaverse;
|
||||
using Nini.Config;
|
||||
using log4net;
|
||||
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Services.Interfaces;
|
||||
|
||||
|
||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
{
|
||||
public abstract class BaseInventoryConnector : IInventoryService
|
||||
|
||||
@@ -161,6 +161,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
/// <returns></returns>
|
||||
public InventoryFolderBase GetFolderForType(UUID userID, AssetType type)
|
||||
{
|
||||
m_log.DebugFormat("[INVENTORY CACHE]: Getting folder for asset type {0} for user {1}", type, userID);
|
||||
|
||||
Dictionary<AssetType, InventoryFolderBase> folders = null;
|
||||
|
||||
lock (m_InventoryCache)
|
||||
@@ -177,8 +179,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
|
||||
if ((folders != null) && folders.ContainsKey(type))
|
||||
{
|
||||
m_log.DebugFormat(
|
||||
"[INVENTORY CACHE]: Returning folder {0} as type {1} for {2}", folders[type], type, userID);
|
||||
|
||||
return folders[type];
|
||||
}
|
||||
|
||||
m_log.WarnFormat("[INVENTORY CACHE]: Could not find folder for system type {0} for {1}", type, userID);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -216,13 +216,29 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
return m_InventoryService.PurgeFolder(folder);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a new item to the user's inventory
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns>true if the item was successfully added</returns>
|
||||
public bool AddItem(InventoryItemBase item)
|
||||
{
|
||||
m_log.DebugFormat(
|
||||
"[LOCAL INVENTORY SERVICES CONNECTOR]: Adding inventory item {0} to user {1} folder {2}",
|
||||
item.Name, item.Owner, item.Folder);
|
||||
|
||||
if (UUID.Zero == item.Folder)
|
||||
{
|
||||
InventoryFolderBase f = m_InventoryService.GetFolderForType(item.Owner, (AssetType)item.AssetType);
|
||||
if (f != null)
|
||||
{
|
||||
item.Folder = f.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
f = m_InventoryService.GetRootFolder(item.Owner);
|
||||
if (f != null)
|
||||
item.Folder = f.ID;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return m_InventoryService.AddItem(item);
|
||||
}
|
||||
|
||||
@@ -236,7 +252,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
return m_InventoryService.UpdateItem(item);
|
||||
}
|
||||
|
||||
|
||||
public bool MoveItems(UUID ownerID, List<InventoryItemBase> items)
|
||||
{
|
||||
return m_InventoryService.MoveItems(ownerID, items);
|
||||
|
||||
@@ -75,7 +75,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
base.Init(source);
|
||||
}
|
||||
|
||||
|
||||
#region ISharedRegionModule
|
||||
|
||||
public void Initialise(IConfigSource source)
|
||||
|
||||
@@ -228,6 +228,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
{
|
||||
if (item == null)
|
||||
return false;
|
||||
|
||||
if (UUID.Zero == item.Folder)
|
||||
{
|
||||
InventoryFolderBase f = m_RemoteConnector.GetFolderForType(item.Owner, (AssetType)item.AssetType);
|
||||
if (f != null)
|
||||
{
|
||||
item.Folder = f.ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
f = m_RemoteConnector.GetRootFolder(item.Owner);
|
||||
if (f != null)
|
||||
item.Folder = f.ID;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return m_RemoteConnector.AddItem(item);
|
||||
}
|
||||
@@ -294,9 +311,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
return m_RemoteConnector.GetAssetPermissions(userID, assetID);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -984,7 +984,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
private InventoryItemBase CreateAgentInventoryItemFromTask(UUID destAgent, SceneObjectPart part, UUID itemId)
|
||||
{
|
||||
Console.WriteLine("CreateAgentInventoryItemFromTask");
|
||||
TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(itemId);
|
||||
|
||||
if (null == taskItem)
|
||||
@@ -1055,7 +1054,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// <param name="itemID"></param>
|
||||
public InventoryItemBase MoveTaskInventoryItem(IClientAPI remoteClient, UUID folderId, SceneObjectPart part, UUID itemId)
|
||||
{
|
||||
m_log.Info("Adding task inventory");
|
||||
m_log.DebugFormat(
|
||||
"[PRIM INVENTORY]: Adding item {0} from {1} to folder {2} for {3}",
|
||||
itemId, part.Name, folderId, remoteClient.Name);
|
||||
|
||||
InventoryItemBase agentItem = CreateAgentInventoryItemFromTask(remoteClient.AgentId, part, itemId);
|
||||
|
||||
if (agentItem == null)
|
||||
@@ -1121,7 +1123,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// <see>MoveTaskInventoryItem</see>
|
||||
/// </summary>
|
||||
/// <param name="remoteClient"></param>
|
||||
/// <param name="folderID"></param>
|
||||
/// <param name="folderID">
|
||||
/// The user inventory folder to move (or copy) the item to. If null, then the most
|
||||
/// suitable system folder is used (e.g. the Objects folder for objects). If there is no suitable folder, then
|
||||
/// the item is placed in the user's root inventory folder
|
||||
/// </param>
|
||||
/// <param name="part"></param>
|
||||
/// <param name="itemID"></param>
|
||||
public InventoryItemBase MoveTaskInventoryItem(UUID avatarId, UUID folderId, SceneObjectPart part, UUID itemId)
|
||||
|
||||
@@ -4179,8 +4179,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
}
|
||||
|
||||
// destination is an avatar
|
||||
InventoryItemBase agentItem =
|
||||
World.MoveTaskInventoryItem(destId, UUID.Zero, m_host, objId);
|
||||
InventoryItemBase agentItem = World.MoveTaskInventoryItem(destId, UUID.Zero, m_host, objId);
|
||||
|
||||
if (agentItem == null)
|
||||
return;
|
||||
@@ -4190,7 +4189,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
byte[] objBytes = agentItem.ID.GetBytes();
|
||||
Array.Copy(objBytes, 0, bucket, 1, 16);
|
||||
|
||||
Console.WriteLine("Giving inventory");
|
||||
GridInstantMessage msg = new GridInstantMessage(World,
|
||||
m_host.UUID, m_host.Name+", an object owned by "+
|
||||
resolveName(m_host.OwnerID)+",", destId,
|
||||
|
||||
@@ -1373,7 +1373,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||
{
|
||||
sdoc.LoadXml(xml);
|
||||
}
|
||||
catch (System.Xml.XmlException e)
|
||||
catch (System.Xml.XmlException)
|
||||
{
|
||||
loadedState = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user