84 lines
3.5 KiB
C#
84 lines
3.5 KiB
C#
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Collections;
|
||
|
using System.Xml;
|
||
|
using System.Text;
|
||
|
using libsecondlife;
|
||
|
using Nwc.XmlRpc;
|
||
|
|
||
|
namespace OpenSim.Framework.Sims
|
||
|
{
|
||
|
public class SimProfile : SimProfileBase
|
||
|
{
|
||
|
public SimProfile LoadFromGrid(ulong region_handle, string GridURL, string SendKey, string RecvKey)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
Hashtable GridReqParams = new Hashtable();
|
||
|
GridReqParams["region_handle"] = region_handle.ToString();
|
||
|
GridReqParams["authkey"] = SendKey;
|
||
|
ArrayList SendParams = new ArrayList();
|
||
|
SendParams.Add(GridReqParams);
|
||
|
XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams);
|
||
|
|
||
|
XmlRpcResponse GridResp = GridReq.Send(GridURL, 3000);
|
||
|
|
||
|
Hashtable RespData = (Hashtable)GridResp.Value;
|
||
|
this.UUID = new LLUUID((string)RespData["UUID"]);
|
||
|
this.regionhandle = Helpers.UIntsToLong(((uint)Convert.ToUInt32(RespData["region_locx"]) * 256), ((uint)Convert.ToUInt32(RespData["region_locy"]) * 256));
|
||
|
this.regionname = (string)RespData["regionname"];
|
||
|
this.sim_ip = (string)RespData["sim_ip"];
|
||
|
this.sim_port = (uint)Convert.ToUInt16(RespData["sim_port"]);
|
||
|
this.caps_url = "http://" + ((string)RespData["sim_ip"]) + ":" + (string)RespData["sim_port"] + "/";
|
||
|
this.RegionLocX = (uint)Convert.ToUInt32(RespData["region_locx"]);
|
||
|
this.RegionLocY = (uint)Convert.ToUInt32(RespData["region_locy"]);
|
||
|
this.sendkey = SendKey;
|
||
|
this.recvkey = RecvKey;
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
Console.WriteLine(e.ToString());
|
||
|
}
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public SimProfile LoadFromGrid(LLUUID UUID, string GridURL, string SendKey, string RecvKey)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
Hashtable GridReqParams = new Hashtable();
|
||
|
GridReqParams["UUID"] = UUID.ToString();
|
||
|
GridReqParams["authkey"] = SendKey;
|
||
|
ArrayList SendParams = new ArrayList();
|
||
|
SendParams.Add(GridReqParams);
|
||
|
XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams);
|
||
|
|
||
|
XmlRpcResponse GridResp = GridReq.Send(GridURL, 3000);
|
||
|
|
||
|
Hashtable RespData = (Hashtable)GridResp.Value;
|
||
|
this.UUID = new LLUUID((string)RespData["UUID"]);
|
||
|
this.regionhandle = Helpers.UIntsToLong(((uint)Convert.ToUInt32(RespData["region_locx"]) * 256), ((uint)Convert.ToUInt32(RespData["region_locy"]) * 256));
|
||
|
this.regionname = (string)RespData["regionname"];
|
||
|
this.sim_ip = (string)RespData["sim_ip"];
|
||
|
this.sim_port = (uint)Convert.ToUInt16(RespData["sim_port"]);
|
||
|
this.caps_url = "http://" + ((string)RespData["sim_ip"]) + ":" + (string)RespData["sim_port"] + "/";
|
||
|
this.RegionLocX = (uint)Convert.ToUInt32(RespData["region_locx"]);
|
||
|
this.RegionLocY = (uint)Convert.ToUInt32(RespData["region_locy"]);
|
||
|
this.sendkey = SendKey;
|
||
|
this.recvkey = RecvKey;
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
Console.WriteLine(e.ToString());
|
||
|
}
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
|
||
|
public SimProfile()
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|