mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 00:46:02 +08:00
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.
This commit is contained in:
@@ -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()));
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user