From febe78d06249cd4d36a86e97610dd45ab518a757 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Sat, 31 May 2008 12:18:29 +0000
Subject: * Implements UserServer logoff in a few situations * User tries to
log-in but is already logged in. Userserver will send message to simulator
user was in to log the user out there. * From the UserServer, admin types
'logoff-user firstname lastname message'. * Some regions may not get the
message because they're not updated yet.
---
.../Region/Communications/OGS1/OGS1GridServices.cs | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)
(limited to 'OpenSim/Region/Communications/OGS1/OGS1GridServices.cs')
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 309a795..2e892c2 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -86,6 +86,7 @@ namespace OpenSim.Region.Communications.OGS1
httpServer = httpServe;
//Respond to Grid Services requests
httpServer.AddXmlRPCHandler("expect_user", ExpectUser);
+ httpServer.AddXmlRPCHandler("logoff_user", LogOffUser);
httpServer.AddXmlRPCHandler("check", PingCheckReply);
StartRemoting();
@@ -603,6 +604,31 @@ namespace OpenSim.Region.Communications.OGS1
return new XmlRpcResponse();
}
+ // Grid Request Processing
+ ///
+ /// Ooops, our Agent must be dead if we're getting this request!
+ ///
+ ///
+ ///
+ public XmlRpcResponse LogOffUser(XmlRpcRequest request)
+ {
+ m_log.Debug("[CONNECTION DEBUGGING]: LogOff User Called ");
+ Hashtable requestData = (Hashtable)request.Params[0];
+ string message = (string)requestData["message"];
+ LLUUID agentID = LLUUID.Zero;
+ LLUUID RegionSecret = LLUUID.Zero;
+ Helpers.TryParse((string)requestData["agent_id"], out agentID);
+ Helpers.TryParse((string)requestData["region_secret"], out RegionSecret);
+
+ ulong regionHandle = Convert.ToUInt64((string)requestData["regionhandle"]);
+
+
+ m_localBackend.TriggerLogOffUser(regionHandle, agentID, RegionSecret,message);
+
+
+
+ return new XmlRpcResponse();
+ }
#region m_interRegion Comms
--
cgit v1.1