From c483206fd7ecd67ac4fc8c4e4b71f65dfd3de6c4 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 29 Mar 2009 05:42:27 +0000 Subject: Change the client API to use GridInstantMessage for the "last mile" of IM sending. With this change, all methods that handle IM now use GridInstantMessage rather than individual parameters. --- .../CoreModules/Avatar/Friends/FriendsModule.cs | 8 +++--- .../Avatar/InstantMessage/InstantMessageModule.cs | 12 +++++---- .../Avatar/InstantMessage/MessageTransferModule.cs | 24 +++-------------- .../Avatar/InstantMessage/OfflineMessageModule.cs | 16 +++++------- .../Inventory/Transfer/InventoryTransferModule.cs | 30 ++++------------------ 5 files changed, 28 insertions(+), 62 deletions(-) (limited to 'OpenSim/Region/CoreModules') diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index d91e10d..edb2c56 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs @@ -679,9 +679,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends CreateCallingCard(client, friendID, callingCardFolders[0], friendPresence.Name); // local message means OnGridInstantMessage won't be triggered, so do the work here. - friendPresence.ControllingClient.SendInstantMessage(agentID, agentID.ToString(), friendID, client.Name, - (byte)InstantMessageDialog.FriendshipAccepted, - (uint)Util.UnixTimeSinceEpoch()); + friendPresence.ControllingClient.SendInstantMessage( + new GridInstantMessage(client.Scene, agentID, + client.Name, friendID, + (byte)InstantMessageDialog.FriendshipAccepted, + agentID.ToString(), false, Vector3.Zero)); ApproveFriendship(agentID, friendID, client.Name); } else diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs index 01717ce..038f5c1 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs @@ -137,12 +137,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage if ((client != null) && !success) { - client.SendInstantMessage(new UUID(im.toAgentID), - "Unable to send instant message. "+ - "User is not logged in.", - new UUID(im.fromAgentID), "System", + client.SendInstantMessage( + new GridInstantMessage( + null, new UUID(im.fromAgentID), "System", + new UUID(im.toAgentID), (byte)InstantMessageDialog.BusyAutoResponse, - (uint)Util.UnixTimeSinceEpoch()); + "Unable to send instant message. "+ + "User is not logged in.", false, + new Vector3())); } } ); diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index d8d6219..23aaabe 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs @@ -113,16 +113,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage if (!user.IsChildAgent) { m_log.DebugFormat("[INSTANT MESSAGE]: Delivering to client"); - user.ControllingClient.SendInstantMessage( - new UUID(im.fromAgentID), - im.message, - new UUID(im.toAgentID), - im.fromAgentName, - im.dialog, - im.timestamp, - new UUID(im.imSessionID), - im.fromGroup, - im.binaryBucket); + user.ControllingClient.SendInstantMessage(im); + // Message sent result(true); return; @@ -143,16 +135,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage ScenePresence user = (ScenePresence) scene.Entities[toAgentID]; m_log.DebugFormat("[INSTANT MESSAGE]: Delivering to client"); - user.ControllingClient.SendInstantMessage( - new UUID(im.fromAgentID), - im.message, - new UUID(im.toAgentID), - im.fromAgentName, - im.dialog, - im.timestamp, - new UUID(im.imSessionID), - im.fromGroup, - im.binaryBucket); + user.ControllingClient.SendInstantMessage(im); + // Message sent result(true); return; diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs index 814b2de..9eb8e27 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs @@ -167,11 +167,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage { DateTime saved = Util.ToDateTime((uint)im.timestamp); - client.SendInstantMessage(new UUID(im.toAgentID), - "(saved " + saved.ToString() + ") " + im.message, - new UUID(im.fromAgentID), im.fromAgentName, - (byte)im.dialog, - (uint)im.timestamp); + im.message = "(saved " + saved.ToString() + ") " + im.message; + client.SendInstantMessage(im); } } @@ -188,12 +185,13 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage if (client == null) return; - client.SendInstantMessage(new UUID(im.fromAgentID), + client.SendInstantMessage(new GridInstantMessage( + null, new UUID(im.toAgentID), + "System", new UUID(im.fromAgentID), + (byte)InstantMessageDialog.MessageFromAgent, "User is not logged in. "+ (success ? "Message saved." : "Message not saved"), - new UUID(im.toAgentID), "System", - (byte)InstantMessageDialog.MessageFromAgent, - (uint)Util.UnixTimeSinceEpoch()); + false, new Vector3())); } } } diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index 2939282..b8e4f08 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -212,11 +212,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer // And notify. Transaction ID is the item ID. We get that // same ID back on the reply so we know what to act on // - user.ControllingClient.SendInstantMessage( - new UUID(im.fromAgentID), im.message, - new UUID(im.toAgentID), - im.fromAgentName, im.dialog, im.timestamp, - copyID, false, im.binaryBucket); + user.ControllingClient.SendInstantMessage(im); return; } @@ -232,11 +228,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer if (user != null) // Local { - user.ControllingClient.SendInstantMessage( - new UUID(im.fromAgentID), im.message, - new UUID(im.toAgentID), - im.fromAgentName, im.dialog, im.timestamp, - UUID.Zero, false, im.binaryBucket); + user.ControllingClient.SendInstantMessage(im); } else { @@ -303,11 +295,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer if (user != null) // Local { - user.ControllingClient.SendInstantMessage( - new UUID(im.fromAgentID), im.message, - new UUID(im.toAgentID), - im.fromAgentName, im.dialog, im.timestamp, - UUID.Zero, false, im.binaryBucket); + user.ControllingClient.SendInstantMessage(im); } else { @@ -460,11 +448,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer // Deliver message // - user.ControllingClient.SendInstantMessage( - new UUID(msg.fromAgentID), msg.message, - new UUID(msg.toAgentID), - msg.fromAgentName, msg.dialog, msg.timestamp, - folderID, false, msg.binaryBucket); + user.ControllingClient.SendInstantMessage(msg); } else { @@ -497,11 +481,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer // Deliver message // - user.ControllingClient.SendInstantMessage( - new UUID(msg.fromAgentID), msg.message, - new UUID(msg.toAgentID), - msg.fromAgentName, msg.dialog, msg.timestamp, - itemID, false, msg.binaryBucket); + user.ControllingClient.SendInstantMessage(msg); } } } -- cgit v1.1