From 1d5b2bb8bc00b37e292236fa3d9326df84f2b76e Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sun, 28 Sep 2008 19:45:42 +0000
Subject: Add some methods to allow modules so set client view options

---
 OpenSim/Framework/IClientAPI.cs                    |  2 ++
 .../Region/ClientStack/LindenUDP/LLClientView.cs   | 28 ++++++++++++++++++++++
 .../ClientStack/LindenUDP/LLPacketHandler.cs       |  1 +
 .../Environment/Modules/World/NPC/NPCAvatar.cs     |  9 +++++++
 .../Region/Examples/SimpleModule/MyNpcCharacter.cs |  9 +++++++
 5 files changed, 49 insertions(+)

diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 3b5bcaa..9df1e00 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -749,6 +749,8 @@ namespace OpenSim.Framework
         void SendLogoutPacket();
         ClientInfo GetClientInfo();
         void SetClientInfo(ClientInfo info);
+        void SetClientOption(string option, string value);
+        string GetClientOption(string option);
         void Terminate();
 
         void SendSetFollowCamProperties(UUID objectID, SortedDictionary<int, float> parameters);
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 537735d..c8923e0 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -6622,6 +6622,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP
             OutPacket(reply, ThrottleOutPacketType.Land);
         }
 
+        public void SetClientOption(string option, string value)
+        {
+            switch (option)
+            {
+            case "ReliableIsImportant":
+                bool val = false;
+
+                if (bool.TryParse(value, out val))
+                    m_PacketHandler.ReliableIsImportant = val;
+                break;
+            default:
+                break;
+            }
+        }
+
+        public string GetClientOption(string option)
+        {
+            switch (option)
+            {
+            case "ReliableIsImportant":
+                return m_PacketHandler.ReliableIsImportant.ToString();
+                break;
+            default:
+                break;
+            }
+            return string.Empty;
+        }
+
         public void KillEndDone()
         {
             KillPacket kp = new KillPacket();
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
index ea397c7..d57321e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
@@ -57,6 +57,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
         uint SilenceLimit { get; set; }
         uint DiscardTimeout { get; set; }
         uint ResendTimeout { get; set; }
+        bool ReliableIsImportant { get; set; }
 
         void InPacket(Packet packet);
         void ProcessInPacket(LLQueItem item);
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 92214b9..8c76884 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -873,6 +873,15 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
         {
         }
 
+        public void SetClientOption(string option, string value)
+        {
+        }
+
+        public string GetClientOption(string option)
+        {
+            return string.Empty;
+        }
+
         public void KillEndDone()
         {
         }
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 3f1823a..92a96f9 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -870,6 +870,15 @@ namespace OpenSim.Region.Examples.SimpleModule
         {
         }
 
+        public void SetClientOption(string option, string value)
+        {
+        }
+
+        public string GetClientOption(string option)
+        {
+            return string.Empty;
+        }
+
         public void KillEndDone()
         {
         }
-- 
cgit v1.1