add missing IM parameter ( needs fix where it is really relevant )
parent
96a5a053ef
commit
bf604c85c6
|
@ -47,6 +47,7 @@ namespace OpenSim.Framework
|
||||||
public uint ParentEstateID;
|
public uint ParentEstateID;
|
||||||
public Guid RegionID;
|
public Guid RegionID;
|
||||||
public uint timestamp;
|
public uint timestamp;
|
||||||
|
public Guid ID;
|
||||||
|
|
||||||
public GridInstantMessage()
|
public GridInstantMessage()
|
||||||
{
|
{
|
||||||
|
@ -66,6 +67,8 @@ namespace OpenSim.Framework
|
||||||
Position = im.Position;
|
Position = im.Position;
|
||||||
binaryBucket = im.binaryBucket;
|
binaryBucket = im.binaryBucket;
|
||||||
RegionID = im.RegionID;
|
RegionID = im.RegionID;
|
||||||
|
ParentEstateID = im.ParentEstateID;
|
||||||
|
ID = im.ID;
|
||||||
|
|
||||||
if (addTimestamp)
|
if (addTimestamp)
|
||||||
timestamp = (uint)Util.UnixTimeSinceEpoch();
|
timestamp = (uint)Util.UnixTimeSinceEpoch();
|
||||||
|
@ -75,7 +78,7 @@ namespace OpenSim.Framework
|
||||||
string _fromAgentName, UUID _toAgentID,
|
string _fromAgentName, UUID _toAgentID,
|
||||||
byte _dialog, bool _fromGroup, string _message,
|
byte _dialog, bool _fromGroup, string _message,
|
||||||
UUID _imSessionID, bool _offline, Vector3 _position,
|
UUID _imSessionID, bool _offline, Vector3 _position,
|
||||||
byte[] _binaryBucket, bool addTimestamp)
|
byte[] _binaryBucket, UUID _ID, bool addTimestamp)
|
||||||
{
|
{
|
||||||
fromAgentID = _fromAgentID.Guid;
|
fromAgentID = _fromAgentID.Guid;
|
||||||
fromAgentName = _fromAgentName;
|
fromAgentName = _fromAgentName;
|
||||||
|
@ -84,6 +87,8 @@ namespace OpenSim.Framework
|
||||||
fromGroup = _fromGroup;
|
fromGroup = _fromGroup;
|
||||||
message = _message;
|
message = _message;
|
||||||
imSessionID = _imSessionID.Guid;
|
imSessionID = _imSessionID.Guid;
|
||||||
|
ID = _ID.Guid;
|
||||||
|
|
||||||
if (_offline)
|
if (_offline)
|
||||||
offline = 1;
|
offline = 1;
|
||||||
else
|
else
|
||||||
|
@ -101,12 +106,22 @@ namespace OpenSim.Framework
|
||||||
timestamp = (uint)Util.UnixTimeSinceEpoch();
|
timestamp = (uint)Util.UnixTimeSinceEpoch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GridInstantMessage(IScene scene, UUID _fromAgentID,
|
||||||
|
string _fromAgentName, UUID _toAgentID,
|
||||||
|
byte _dialog, bool _fromGroup, string _message,
|
||||||
|
UUID _imSessionID, bool _offline, Vector3 _position,
|
||||||
|
byte[] _binaryBucket, bool addTimestamp) : this(scene, _fromAgentID, _fromAgentName,
|
||||||
|
_toAgentID, _dialog, false, _message,
|
||||||
|
_fromAgentID ^ _toAgentID, _offline, _position, new byte[0], UUID.Zero, true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public GridInstantMessage(IScene scene, UUID _fromAgentID,
|
public GridInstantMessage(IScene scene, UUID _fromAgentID,
|
||||||
string _fromAgentName, UUID _toAgentID, byte _dialog,
|
string _fromAgentName, UUID _toAgentID, byte _dialog,
|
||||||
string _message, bool _offline,
|
string _message, bool _offline,
|
||||||
Vector3 _position) : this(scene, _fromAgentID, _fromAgentName,
|
Vector3 _position) : this(scene, _fromAgentID, _fromAgentName,
|
||||||
_toAgentID, _dialog, false, _message,
|
_toAgentID, _dialog, false, _message,
|
||||||
_fromAgentID ^ _toAgentID, _offline, _position, new byte[0], true)
|
_fromAgentID ^ _toAgentID, _offline, _position, new byte[0], UUID.Zero, true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -953,7 +953,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// Send an instant message to this client
|
/// Send an instant message to this client
|
||||||
/// </summary>
|
/// </summary>
|
||||||
//
|
//
|
||||||
// Don't remove transaction ID! Groups and item gives need to set it!
|
|
||||||
public void SendInstantMessage(GridInstantMessage im)
|
public void SendInstantMessage(GridInstantMessage im)
|
||||||
{
|
{
|
||||||
if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID)))
|
if (((Scene)(m_scene)).Permissions.CanInstantMessage(new UUID(im.fromAgentID), new UUID(im.toAgentID)))
|
||||||
|
@ -962,14 +961,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
= (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
|
= (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
|
||||||
|
|
||||||
msg.AgentData.AgentID = new UUID(im.fromAgentID);
|
msg.AgentData.AgentID = new UUID(im.fromAgentID);
|
||||||
msg.AgentData.SessionID = UUID.Zero;
|
msg.AgentData.SessionID = new UUID(im.imSessionID);
|
||||||
msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName);
|
msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName);
|
||||||
msg.MessageBlock.Dialog = im.dialog;
|
msg.MessageBlock.Dialog = im.dialog;
|
||||||
msg.MessageBlock.FromGroup = im.fromGroup;
|
msg.MessageBlock.FromGroup = im.fromGroup;
|
||||||
if (im.imSessionID == UUID.Zero.Guid)
|
msg.MessageBlock.ID = new UUID(im.ID);
|
||||||
msg.MessageBlock.ID = new UUID(im.fromAgentID) ^ new UUID(im.toAgentID);
|
|
||||||
else
|
|
||||||
msg.MessageBlock.ID = new UUID(im.imSessionID);
|
|
||||||
msg.MessageBlock.Offline = im.offline;
|
msg.MessageBlock.Offline = im.offline;
|
||||||
msg.MessageBlock.ParentEstateID = im.ParentEstateID;
|
msg.MessageBlock.ParentEstateID = im.ParentEstateID;
|
||||||
msg.MessageBlock.Position = im.Position;
|
msg.MessageBlock.Position = im.Position;
|
||||||
|
|
|
@ -216,6 +216,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
UUID fromAgentID = UUID.Zero;
|
UUID fromAgentID = UUID.Zero;
|
||||||
UUID toAgentID = UUID.Zero;
|
UUID toAgentID = UUID.Zero;
|
||||||
UUID imSessionID = UUID.Zero;
|
UUID imSessionID = UUID.Zero;
|
||||||
|
UUID imID = UUID.Zero;
|
||||||
uint timestamp = 0;
|
uint timestamp = 0;
|
||||||
string fromAgentName = "";
|
string fromAgentName = "";
|
||||||
string message = "";
|
string message = "";
|
||||||
|
@ -232,7 +233,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
float pos_z = 0;
|
float pos_z = 0;
|
||||||
//m_log.Info("Processing IM");
|
//m_log.Info("Processing IM");
|
||||||
|
|
||||||
|
|
||||||
Hashtable requestData = (Hashtable)request.Params[0];
|
Hashtable requestData = (Hashtable)request.Params[0];
|
||||||
// Check if it's got all the data
|
// Check if it's got all the data
|
||||||
if (requestData.ContainsKey("from_agent_id")
|
if (requestData.ContainsKey("from_agent_id")
|
||||||
|
@ -263,6 +263,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
UUID.TryParse((string)requestData["to_agent_id"], out toAgentID);
|
UUID.TryParse((string)requestData["to_agent_id"], out toAgentID);
|
||||||
UUID.TryParse((string)requestData["im_session_id"], out imSessionID);
|
UUID.TryParse((string)requestData["im_session_id"], out imSessionID);
|
||||||
UUID.TryParse((string)requestData["region_id"], out RegionID);
|
UUID.TryParse((string)requestData["region_id"], out RegionID);
|
||||||
|
UUID.TryParse((string)requestData["id"], out imID);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -390,6 +391,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
gim.ParentEstateID = ParentEstateID;
|
gim.ParentEstateID = ParentEstateID;
|
||||||
gim.Position = Position;
|
gim.Position = Position;
|
||||||
gim.binaryBucket = binaryBucket;
|
gim.binaryBucket = binaryBucket;
|
||||||
|
gim.ID = imID.Guid;
|
||||||
|
|
||||||
|
|
||||||
// Trigger the Instant message in the scene.
|
// Trigger the Instant message in the scene.
|
||||||
|
@ -508,7 +510,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
|
|
||||||
UUID toAgentID = new UUID(im.toAgentID);
|
UUID toAgentID = new UUID(im.toAgentID);
|
||||||
PresenceInfo upd = null;
|
PresenceInfo upd = null;
|
||||||
UUID regionID;
|
|
||||||
bool lookupAgent = false;
|
bool lookupAgent = false;
|
||||||
|
|
||||||
lock (m_UserRegionMap)
|
lock (m_UserRegionMap)
|
||||||
|
@ -701,6 +702,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
gim["from_agent_session"] = UUID.Zero.ToString();
|
gim["from_agent_session"] = UUID.Zero.ToString();
|
||||||
gim["to_agent_id"] = msg.toAgentID.ToString();
|
gim["to_agent_id"] = msg.toAgentID.ToString();
|
||||||
gim["im_session_id"] = msg.imSessionID.ToString();
|
gim["im_session_id"] = msg.imSessionID.ToString();
|
||||||
|
if(msg.ID != Guid.Empty)
|
||||||
|
gim["id"] = msg.ID.ToString();
|
||||||
gim["timestamp"] = msg.timestamp.ToString();
|
gim["timestamp"] = msg.timestamp.ToString();
|
||||||
gim["from_agent_name"] = msg.fromAgentName;
|
gim["from_agent_name"] = msg.fromAgentName;
|
||||||
gim["message"] = msg.message;
|
gim["message"] = msg.message;
|
||||||
|
|
Loading…
Reference in New Issue