All pastes #985539 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-04-15 02:38 UTC
rendered paste body
diff -r -B -u -P --exclude-from=ignore ../opensim-ref/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs ./OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs
--- ../opensim-ref/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs	2008-04-14 05:26:33.000000000 +0100
+++ ./OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs	2008-04-15 01:26:23.000000000 +0100
@@ -135,6 +135,7 @@
                        {
                            // Centralized grid structure using OpenSimWi Redux revision 9+
                            scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate);
+                           scene.AddXmlRPCHandler("user_alert", UserAlert);
                        }
                        else
                        {
@@ -1059,6 +1061,39 @@
             return r;
         }
 
+        /// <summary>
+        /// XMLRPC handler to send alert message and sound to client
+        /// </summary>
+        public XmlRpcResponse UserAlert(XmlRpcRequest request)
+		{
+            XmlRpcResponse ret = new XmlRpcResponse();
+            Hashtable retparam = new Hashtable();
+            Hashtable requestData = (Hashtable)request.Params[0];
+
+            LLUUID agentId = LLUUID.Zero;
+            LLUUID soundId = LLUUID.Zero;
+
+			Helpers.TryParse((string)requestData["agentId"], out agentId);
+			Helpers.TryParse((string)requestData["soundId"], out soundId);
+			string text=(string)requestData["text"];
+
+			IClientAPI client = LocateClientObject(agentId);
+
+			if (client != null)
+			{
+				client.SendBlueBoxMessage(LLUUID.Zero, LLUUID.Zero, "", text);
+				retparam.Add("success", true);
+			}
+			else
+			{
+				retparam.Add("success", true);
+			}
+
+            ret.Value = retparam;
+
+            return ret;
+		}
+
 # region Standalone box enablers only
 
         public XmlRpcResponse quote_func(XmlRpcRequest request)