From 7beb8a5abb801c285d16a5b1e4d8538d0381c671 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 3 Jan 2009 20:45:33 +0000
Subject: Plumb the remaining dwell packets

---
 OpenSim/Framework/IClientAPI.cs                    |  6 ++++++
 .../Region/ClientStack/LindenUDP/LLClientView.cs   | 22 ++++++++++++++++++----
 .../Environment/Modules/World/NPC/NPCAvatar.cs     |  5 +++++
 .../Region/Examples/SimpleModule/MyNpcCharacter.cs |  5 +++++
 OpenSim/Tests/Common/Mock/TestClient.cs            |  6 +++++-
 5 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 79311d5..cb4af37 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -422,6 +422,8 @@ namespace OpenSim.Framework
 
     public delegate void EventGodDelete(uint eventID, UUID queryID, string queryText, uint queryFlags, int queryStart, IClientAPI client);
 
+    public delegate void ParcelDwellRequest(int localID, IClientAPI client);
+
     #endregion
 
     public struct DirPlacesReplyData
@@ -741,6 +743,8 @@ namespace OpenSim.Framework
         event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
         event EventGodDelete OnEventGodDelete;
 
+        event ParcelDwellRequest OnParcelDwellRequest;
+
         //     void ActivateGesture(UUID assetId, UUID gestureId);
 
         /// <summary>
@@ -1082,6 +1086,8 @@ namespace OpenSim.Framework
         void SendAvatarPicksReply(UUID targetID, Dictionary<UUID, string> picks);
         void SendAvatarClassifiedReply(UUID targetID, Dictionary<UUID, string> classifieds);
 
+        void SendParcelDwellReply(int localID, UUID parcelID, float dwell);
+
         void KillEndDone();
 
         bool AddGenericPacketHandler(string MethodName, GenericMessage handler);
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 5fda592..85cc337 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -283,6 +283,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
         private EventNotificationRemoveRequest handlerEventNotificationRemoveRequest;
         private EventGodDelete handlerEventGodDelete;
 
+        private ParcelDwellRequest handlerParcelDwellRequest;
+
         private readonly IGroupsModule m_GroupsModule;
 
         //private TerrainUnacked handlerUnackedTerrain = null;
@@ -1050,6 +1052,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
         public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
         public event EventGodDelete OnEventGodDelete;
 
+        public event ParcelDwellRequest OnParcelDwellRequest;
+
         public void ActivateGesture(UUID assetId, UUID gestureId)
         {
         }
@@ -6565,6 +6569,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
 
                     }
                     break;
+                case PacketType.ParcelDwellRequest:
+                    ParcelDwellRequestPacket dwellrq =
+                            (ParcelDwellRequestPacket)Pack;
+
+                    handlerParcelDwellRequest = OnParcelDwellRequest;
+                    if (handlerParcelDwellRequest != null)
+                    {
+                        handlerParcelDwellRequest(dwellrq.Data.LocalID, this);
+                    }
+                    break;
                 case PacketType.TransferAbort:
                     // TODO: handle this packet
                     //m_log.Warn("[CLIENT]: unhandled TransferAbort packet");
@@ -6573,10 +6587,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
                     // TODO: handle this packet
                     //m_log.Warn("[CLIENT]: unhandled MuteListRequest packet");
                     break;
-                case PacketType.ParcelDwellRequest:
-                    // TODO: handle this packet
-                    //m_log.Warn("[CLIENT]: unhandled ParcelDwellRequest packet");
-                    break;
                 case PacketType.UseCircuitCode:
                     // Don't display this one, we handle it at a lower level
                     break;
@@ -8283,6 +8293,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
             OutPacket(ac, ThrottleOutPacketType.Task);
         }
 
+        public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
+        {
+        }
+
         public void KillEndDone()
         {
             KillPacket kp = new KillPacket();
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 61b8690..2b91391 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -355,6 +355,8 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
         public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
         public event EventGodDelete OnEventGodDelete;
 
+        public event ParcelDwellRequest OnParcelDwellRequest;
+
 #pragma warning restore 67
 
         #endregion
@@ -1039,6 +1041,9 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
         {
         }
 
+        public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
+        {
+        }
 
         #endregion
     }
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 79e6653..8cfaf88 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -250,6 +250,8 @@ namespace OpenSim.Region.Examples.SimpleModule
         public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
         public event EventGodDelete OnEventGodDelete;
 
+        public event ParcelDwellRequest OnParcelDwellRequest;
+
 #pragma warning restore 67
 
         private UUID myID = UUID.Random();
@@ -1040,6 +1042,9 @@ namespace OpenSim.Region.Examples.SimpleModule
         {
         }
 
+        public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
+        {
+        }
 
         #endregion
     }
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs
index fe93d6b..83bd9d9 100644
--- a/OpenSim/Tests/Common/Mock/TestClient.cs
+++ b/OpenSim/Tests/Common/Mock/TestClient.cs
@@ -246,6 +246,8 @@ namespace OpenSim.Tests.Common.Mock
         public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
         public event EventGodDelete OnEventGodDelete;
 
+        public event ParcelDwellRequest OnParcelDwellRequest;
+
 #pragma warning restore 67
 
         /// <value>
@@ -986,6 +988,8 @@ namespace OpenSim.Tests.Common.Mock
         {
         }
 
-
+        public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
+        {
+        }
     }
 }
-- 
cgit v1.1