OpenSimMirror/OpenSim.RegionServer/AuthenticateSessionsRemote.cs

47 lines
1.8 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using libsecondlife;
using OpenSim.Framework.Types;
using Nwc.XmlRpc;
namespace OpenSim
{
public class AuthenticateSessionsRemote : AuthenticateSessionsBase
{
public AuthenticateSessionsRemote()
{
}
public XmlRpcResponse ExpectUser(XmlRpcRequest request)
{
Hashtable requestData = (Hashtable)request.Params[0];
AgentCircuitData agentData = new AgentCircuitData();
agentData.SessionID = new LLUUID((string)requestData["session_id"]);
agentData.SecureSessionID = new LLUUID((string)requestData["secure_session_id"]);
agentData.firstname = (string)requestData["firstname"];
agentData.lastname = (string)requestData["lastname"];
agentData.AgentID = new LLUUID((string)requestData["agent_id"]);
agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]);
if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1"))
{
agentData.child = true;
}
else
{
agentData.startpos = new LLVector3(Convert.ToUInt32(requestData["startpos_x"]), Convert.ToUInt32(requestData["startpos_y"]), Convert.ToUInt32(requestData["startpos_z"]));
agentData.child = false;
// Console.WriteLine("expect user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z);
}
this.AddNewCircuit(agentData.circuitcode, agentData);
return new XmlRpcResponse();
}
}
}