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; } + /// + /// XMLRPC handler to send alert message and sound to client + /// + 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)