aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2010-12-30 00:31:59 +0100
committerMelanie2010-12-30 00:31:59 +0100
commit2cb2bff9b2ab68c325b0142da0b37730be9a12a3 (patch)
tree147d2d65fa710842f26afe97713f4de60d14889d
parentCopying a ref type under lock doesn't dissociate it from the source. (diff)
downloadopensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.zip
opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.gz
opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.bz2
opensim-SC_OLD-2cb2bff9b2ab68c325b0142da0b37730be9a12a3.tar.xz
Implement SendPlacesReply
-rw-r--r--OpenSim/Client/MXP/ClientStack/MXPClientView.cs4
-rw-r--r--OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs4
-rw-r--r--OpenSim/Framework/IClientAPI.cs19
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs54
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs4
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs4
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs4
-rw-r--r--OpenSim/Tests/Common/Mock/TestClient.cs4
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}