0.1-prestable
MW 2007-04-11 09:29:06 +00:00
parent 950389a263
commit 435d61661b
2 changed files with 47 additions and 40 deletions

View File

@ -90,8 +90,10 @@ namespace OpenSim.Framework.User
LLUUID AgentID = TheUser.UUID; LLUUID AgentID = TheUser.UUID;
TheUser.InitSessionData(); TheUser.InitSessionData();
SimProfile SimInfo = new SimProfile();
SimInfo = SimInfo.LoadFromGrid(TheUser.homeregionhandle, GridURL, GridSendKey, GridRecvKey); //for loading data from a grid server, make any changes in CustomiseResponse() (or create a sub class of this and override that method)
//SimProfile SimInfo = new SimProfile();
//SimInfo = SimInfo.LoadFromGrid(TheUser.homeregionhandle, GridURL, GridSendKey, GridRecvKey);
Hashtable GlobalT = new Hashtable(); Hashtable GlobalT = new Hashtable();
@ -146,7 +148,7 @@ namespace OpenSim.Framework.User
InitialOutfit.Add(InitialOutfitHash); InitialOutfit.Add(InitialOutfitHash);
uint circode = (uint)(Util.RandomClass.Next()); uint circode = (uint)(Util.RandomClass.Next());
TheUser.AddSimCircuit(circode, SimInfo.UUID); //TheUser.AddSimCircuit(circode, SimInfo.UUID);
responseData["last_name"] = TheUser.lastname; responseData["last_name"] = TheUser.lastname;
responseData["ui-config"] = ui_config; responseData["ui-config"] = ui_config;

View File

@ -1,9 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Net; using System.Net;
using System.Web; using System.Web;
using System.IO; using System.IO;
using OpenSim.Framework.Interfaces; using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Utilities; using OpenSim.Framework.Utilities;
using libsecondlife; using libsecondlife;
@ -37,37 +37,39 @@ namespace OpenSim
public RegionInfo() public RegionInfo()
{ {
} }
public void SaveToGrid()
{
string reqtext;
reqtext="<authkey>" + this.GridSendKey + "</authkey>";
reqtext+="<sim>";
reqtext+="<uuid>" + this.SimUUID.ToString() + "</uuid>";
reqtext+="<regionname>" + this.RegionName + "</regionname>";
reqtext+="<sim_ip>" + this.IPListenAddr + "</sim_ip>";
reqtext+="<sim_port>" + this.IPListenPort.ToString() + "</sim_port>";
reqtext+="<region_locx>" + this.RegionLocX.ToString() + "</region_locx>";
reqtext+="<region_locy>" + this.RegionLocY.ToString() + "</region_locy>";
reqtext+="<estate_id>1</estate_id>";
reqtext+="</sim>";
WebRequest GridSaveReq = WebRequest.Create(this.GridURL + "sims/" + this.SimUUID.ToString());
GridSaveReq.Method = "POST";
GridSaveReq.ContentType = "text/plaintext";
GridSaveReq.ContentLength = reqtext.Length;
StreamWriter stOut = new StreamWriter(GridSaveReq.GetRequestStream(), System.Text.Encoding.ASCII); public void SaveToGrid()
stOut.Write(reqtext); {
stOut.Close(); //we really want to keep any server connection code out of here and out of the code code
// and put it in the server connection classes (those inheriting from IGridServer etc)
string reqtext;
reqtext = "<authkey>" + this.GridSendKey + "</authkey>";
reqtext += "<sim>";
reqtext += "<uuid>" + this.SimUUID.ToString() + "</uuid>";
reqtext += "<regionname>" + this.RegionName + "</regionname>";
reqtext += "<sim_ip>" + this.IPListenAddr + "</sim_ip>";
reqtext += "<sim_port>" + this.IPListenPort.ToString() + "</sim_port>";
reqtext += "<region_locx>" + this.RegionLocX.ToString() + "</region_locx>";
reqtext += "<region_locy>" + this.RegionLocY.ToString() + "</region_locy>";
reqtext += "<estate_id>1</estate_id>";
reqtext += "</sim>";
StreamReader stIn = new StreamReader(GridSaveReq.GetResponse().GetResponseStream()); WebRequest GridSaveReq = WebRequest.Create(this.GridURL + "sims/" + this.SimUUID.ToString());
string GridResponse = stIn.ReadToEnd(); GridSaveReq.Method = "POST";
stIn.Close(); GridSaveReq.ContentType = "text/plaintext";
GridSaveReq.ContentLength = reqtext.Length;
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("RegionInfo.CS:SaveToGrid() - Grid said: " + GridResponse);
} StreamWriter stOut = new StreamWriter(GridSaveReq.GetRequestStream(), System.Text.Encoding.ASCII);
stOut.Write(reqtext);
stOut.Close();
StreamReader stIn = new StreamReader(GridSaveReq.GetResponse().GetResponseStream());
string GridResponse = stIn.ReadToEnd();
stIn.Close();
OpenSim.Framework.Console.MainConsole.Instance.WriteLine("RegionInfo.CS:SaveToGrid() - Grid said: " + GridResponse);
}
public void InitConfig(bool sandboxMode, IGenericConfig configData) public void InitConfig(bool sandboxMode, IGenericConfig configData)
{ {
@ -167,7 +169,7 @@ namespace OpenSim
{ {
this.GridURL = attri; this.GridURL = attri;
} }
//Grid Send Key //Grid Send Key
attri = ""; attri = "";
attri = configData.GetAttribute("GridSendKey"); attri = configData.GetAttribute("GridSendKey");
@ -180,7 +182,7 @@ namespace OpenSim
{ {
this.GridSendKey = attri; this.GridSendKey = attri;
} }
//Grid Receive Key //Grid Receive Key
attri = ""; attri = "";
attri = configData.GetAttribute("GridRecvKey"); attri = configData.GetAttribute("GridRecvKey");
@ -192,12 +194,15 @@ namespace OpenSim
else else
{ {
this.GridRecvKey = attri; this.GridRecvKey = attri;
} }
} }
this.RegionHandle = Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256)); this.RegionHandle = Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
this.SaveToGrid(); if (!this.isSandbox)
{
this.SaveToGrid();
}
configData.Commit(); configData.Commit();
} }
catch (Exception e) catch (Exception e)