diff options
author | Melanie | 2010-12-30 00:31:59 +0100 |
---|---|---|
committer | Melanie | 2010-12-30 00:31:59 +0100 |
commit | 2cb2bff9b2ab68c325b0142da0b37730be9a12a3 (patch) | |
tree | 147d2d65fa710842f26afe97713f4de60d14889d /OpenSim | |
parent | Copying a ref type under lock doesn't dissociate it from the source. (diff) | |
download | opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.zip opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.gz opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.bz2 opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.xz |
Implement SendPlacesReply
Diffstat (limited to 'OpenSim')
8 files changed, 97 insertions, 0 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index 1f6dc5f..302f7ae 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs | |||
@@ -1735,5 +1735,9 @@ namespace OpenSim.Client.MXP.ClientStack | |||
1735 | public void StopFlying(ISceneEntity presence) | 1735 | public void StopFlying(ISceneEntity presence) |
1736 | { | 1736 | { |
1737 | } | 1737 | } |
1738 | |||
1739 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1740 | { | ||
1741 | } | ||
1738 | } | 1742 | } |
1739 | } | 1743 | } |
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index 8a49c62..ba6456b 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | |||
@@ -1229,5 +1229,9 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
1229 | public void StopFlying(ISceneEntity presence) | 1229 | public void StopFlying(ISceneEntity presence) |
1230 | { | 1230 | { |
1231 | } | 1231 | } |
1232 | |||
1233 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1234 | { | ||
1235 | } | ||
1232 | } | 1236 | } |
1233 | } | 1237 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index ea081e2..3f77092 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -587,6 +587,23 @@ namespace OpenSim.Framework | |||
587 | } | 587 | } |
588 | } | 588 | } |
589 | 589 | ||
590 | public class PlacesReplyData | ||
591 | { | ||
592 | public UUID OwnerID; | ||
593 | public string Name; | ||
594 | public string Desc; | ||
595 | public int ActualArea; | ||
596 | public int BillableArea; | ||
597 | public byte Flags; | ||
598 | public uint GlobalX; | ||
599 | public uint GlobalY; | ||
600 | public uint GlobalZ; | ||
601 | public string SimName; | ||
602 | public UUID SnapshotID; | ||
603 | public uint Dwell; | ||
604 | public int Price; | ||
605 | } | ||
606 | |||
590 | /// <summary> | 607 | /// <summary> |
591 | /// Specifies the fields that have been changed when sending a prim or | 608 | /// Specifies the fields that have been changed when sending a prim or |
592 | /// avatar update | 609 | /// avatar update |
@@ -1321,5 +1338,7 @@ namespace OpenSim.Framework | |||
1321 | void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId); | 1338 | void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId); |
1322 | 1339 | ||
1323 | void StopFlying(ISceneEntity presence); | 1340 | void StopFlying(ISceneEntity presence); |
1341 | |||
1342 | void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data); | ||
1324 | } | 1343 | } |
1325 | } | 1344 | } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 5913246..e416d05 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -12088,7 +12088,61 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
12088 | 12088 | ||
12089 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, | 12089 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, |
12090 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); | 12090 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); |
12091 | } | ||
12092 | |||
12093 | public void SendPlacesReply(UUID queryID, UUID transactionID, | ||
12094 | PlacesReplyData[] data) | ||
12095 | { | ||
12096 | PlacesReplyPacket reply = null; | ||
12097 | PlacesReplyPacket.QueryDataBlock[] dataBlocks = | ||
12098 | new PlacesReplyPacket.QueryDataBlock[0]; | ||
12099 | |||
12100 | for (int i = 0 ; i < data.Length ; i++) | ||
12101 | { | ||
12102 | PlacesReplyPacket.QueryDataBlock block = | ||
12103 | new PlacesReplyPacket.QueryDataBlock(); | ||
12104 | |||
12105 | block.OwnerID = data[i].OwnerID; | ||
12106 | block.Name = Util.StringToBytes256(data[i].Name); | ||
12107 | block.Desc = Util.StringToBytes1024(data[i].Desc); | ||
12108 | block.ActualArea = data[i].ActualArea; | ||
12109 | block.BillableArea = data[i].BillableArea; | ||
12110 | block.Flags = data[i].Flags; | ||
12111 | block.GlobalX = data[i].GlobalX; | ||
12112 | block.GlobalY = data[i].GlobalY; | ||
12113 | block.GlobalZ = data[i].GlobalZ; | ||
12114 | block.SimName = Util.StringToBytes256(data[i].SimName); | ||
12115 | block.SnapshotID = data[i].SnapshotID; | ||
12116 | block.Dwell = data[i].Dwell; | ||
12117 | block.Price = data[i].Price; | ||
12118 | |||
12119 | if (reply != null && reply.Length + block.Length > 1400) | ||
12120 | { | ||
12121 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12091 | 12122 | ||
12123 | reply = null; | ||
12124 | dataBlocks = new PlacesReplyPacket.QueryDataBlock[0]; | ||
12125 | } | ||
12126 | |||
12127 | if (reply == null) | ||
12128 | { | ||
12129 | reply = (PlacesReplyPacket)PacketPool.Instance.GetPacket(PacketType.PlacesReply); | ||
12130 | reply.AgentData = new PlacesReplyPacket.AgentDataBlock(); | ||
12131 | reply.AgentData.AgentID = AgentId; | ||
12132 | reply.AgentData.QueryID = queryID; | ||
12133 | |||
12134 | reply.TransactionData = new PlacesReplyPacket.TransactionDataBlock(); | ||
12135 | reply.TransactionData.TransactionID = transactionID; | ||
12136 | |||
12137 | reply.QueryData = dataBlocks; | ||
12138 | } | ||
12139 | |||
12140 | Array.Resize(ref dataBlocks, dataBlocks.Length + 1); | ||
12141 | dataBlocks[dataBlocks.Length - 1] = block; | ||
12142 | reply.QueryData = dataBlocks; | ||
12143 | } | ||
12144 | if (reply != null) | ||
12145 | OutPacket(reply, ThrottleOutPacketType.Task); | ||
12092 | } | 12146 | } |
12093 | } | 12147 | } |
12094 | } | 12148 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index a6e2c03..5151bf0 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -1170,5 +1170,9 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
1170 | public void StopFlying(ISceneEntity presence) | 1170 | public void StopFlying(ISceneEntity presence) |
1171 | { | 1171 | { |
1172 | } | 1172 | } |
1173 | |||
1174 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1175 | { | ||
1176 | } | ||
1173 | } | 1177 | } |
1174 | } | 1178 | } |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 75f6441..e2574e7 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1692,5 +1692,9 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1692 | public void StopFlying(ISceneEntity presence) | 1692 | public void StopFlying(ISceneEntity presence) |
1693 | { | 1693 | { |
1694 | } | 1694 | } |
1695 | |||
1696 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1697 | { | ||
1698 | } | ||
1695 | } | 1699 | } |
1696 | } | 1700 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 51949b4..1ce3791 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -1175,5 +1175,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
1175 | public void StopFlying(ISceneEntity presence) | 1175 | public void StopFlying(ISceneEntity presence) |
1176 | { | 1176 | { |
1177 | } | 1177 | } |
1178 | |||
1179 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1180 | { | ||
1181 | } | ||
1178 | } | 1182 | } |
1179 | } | 1183 | } |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 69a152f..147571b 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -1229,5 +1229,9 @@ namespace OpenSim.Tests.Common.Mock | |||
1229 | public void StopFlying(ISceneEntity presence) | 1229 | public void StopFlying(ISceneEntity presence) |
1230 | { | 1230 | { |
1231 | } | 1231 | } |
1232 | |||
1233 | public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) | ||
1234 | { | ||
1235 | } | ||
1232 | } | 1236 | } |
1233 | } | 1237 | } |