From 44a7db0e44d175fcb854b7bfd11d3b97ed6b934c Mon Sep 17 00:00:00 2001
From: Tleiades Hax
Date: Wed, 17 Oct 2007 09:36:11 +0000
Subject: Renamed SimProfileData to RegionProfileData
---
OpenSim/Framework/Data.DB4o/DB4oGridData.cs | 9 +-
OpenSim/Framework/Data.DB4o/DB4oManager.cs | 9 +-
OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | 14 +-
OpenSim/Framework/Data.MSSQL/MSSQLManager.cs | 6 +-
OpenSim/Framework/Data.MySQL/MySQLGridData.cs | 18 +--
OpenSim/Framework/Data.MySQL/MySQLManager.cs | 6 +-
OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | 14 +-
OpenSim/Framework/Data.SQLite/SQLiteManager.cs | 6 +-
OpenSim/Framework/Data/GridData.cs | 8 +-
OpenSim/Framework/Data/RegionProfileData.cs | 192 ++++++++++++++++++++++++
OpenSim/Framework/Data/SimProfileData.cs | 192 ------------------------
OpenSim/Grid/GridServer/GridManager.cs | 40 ++---
OpenSim/Grid/UserServer/UserLoginService.cs | 4 +-
13 files changed, 260 insertions(+), 258 deletions(-)
create mode 100644 OpenSim/Framework/Data/RegionProfileData.cs
delete mode 100644 OpenSim/Framework/Data/SimProfileData.cs
diff --git a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
index a01d1a4..bc7225a 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
@@ -56,7 +56,7 @@ namespace OpenSim.Framework.Data.DB4o
/// maximum X coordinate
/// maximum Y coordinate
/// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ public RegionProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
{
return null;
}
@@ -66,7 +66,8 @@ namespace OpenSim.Framework.Data.DB4o
///
/// The handle to search for
/// A region profile
- public SimProfileData GetProfileByHandle(ulong handle) {
+ public RegionProfileData GetProfileByHandle(ulong handle)
+ {
lock (manager.simProfiles)
{
foreach (LLUUID UUID in manager.simProfiles.Keys)
@@ -85,7 +86,7 @@ namespace OpenSim.Framework.Data.DB4o
///
/// The region ID code
/// A region profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
{
lock (manager.simProfiles)
{
@@ -100,7 +101,7 @@ namespace OpenSim.Framework.Data.DB4o
///
/// The profile to add
/// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
+ public DataResponse AddProfile(RegionProfileData profile)
{
lock (manager.simProfiles)
{
diff --git a/OpenSim/Framework/Data.DB4o/DB4oManager.cs b/OpenSim/Framework/Data.DB4o/DB4oManager.cs
index 224b842..10c8490 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oManager.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oManager.cs
@@ -41,7 +41,7 @@ namespace OpenSim.Framework.Data.DB4o
///
/// A list of the current regions connected (in-memory cache)
///
- public Dictionary simProfiles = new Dictionary();
+ public Dictionary simProfiles = new Dictionary();
///
/// Database File Name
///
@@ -56,9 +56,10 @@ namespace OpenSim.Framework.Data.DB4o
dbfl = db4odb;
IObjectContainer database;
database = Db4oFactory.OpenFile(dbfl);
- IObjectSet result = database.Get(typeof(SimProfileData));
+ IObjectSet result = database.Get(typeof(RegionProfileData));
// Loads the file into the in-memory cache
- foreach(SimProfileData row in result) {
+ foreach (RegionProfileData row in result)
+ {
simProfiles.Add(row.UUID, row);
}
database.Close();
@@ -69,7 +70,7 @@ namespace OpenSim.Framework.Data.DB4o
///
/// The profile to add
/// Successful?
- public bool AddRow(SimProfileData row)
+ public bool AddRow(RegionProfileData row)
{
if (simProfiles.ContainsKey(row.UUID))
{
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
index 09ce6d2..e628882 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
@@ -86,7 +86,7 @@ namespace OpenSim.Framework.Data.MSSQL
/// maximum X coordinate
/// maximum Y coordinate
/// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ public RegionProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
{
return null;
}
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Data.MSSQL
///
/// Region location handle
/// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
+ public RegionProfileData GetProfileByHandle(ulong handle)
{
Dictionary param = new Dictionary();
param["handle"] = handle.ToString();
@@ -104,7 +104,7 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.getRow(reader);
+ RegionProfileData row = database.getRow(reader);
reader.Close();
result.Dispose();
@@ -116,7 +116,7 @@ namespace OpenSim.Framework.Data.MSSQL
///
/// The region UUID
/// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
{
Dictionary param = new Dictionary();
param["uuid"] = uuid.ToStringHyphenated();
@@ -124,7 +124,7 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.getRow(reader);
+ RegionProfileData row = database.getRow(reader);
reader.Close();
result.Dispose();
@@ -136,7 +136,7 @@ namespace OpenSim.Framework.Data.MSSQL
///
/// The profile to add
/// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
+ public DataResponse AddProfile(RegionProfileData profile)
{
if (database.insertRow(profile))
{
@@ -162,7 +162,7 @@ namespace OpenSim.Framework.Data.MSSQL
if (throwHissyFit)
throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
- SimProfileData data = GetProfileByLLUUID(uuid);
+ RegionProfileData data = GetProfileByLLUUID(uuid);
return (handle == data.regionHandle && authkey == data.regionSecret);
}
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
index 1efd51e..77d29f7 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
@@ -98,9 +98,9 @@ namespace OpenSim.Framework.Data.MSSQL
///
/// An active database reader
/// A region row
- public SimProfileData getRow(IDataReader reader)
+ public RegionProfileData getRow(IDataReader reader)
{
- SimProfileData regionprofile = new SimProfileData();
+ RegionProfileData regionprofile = new RegionProfileData();
if (reader.Read())
{
@@ -154,7 +154,7 @@ namespace OpenSim.Framework.Data.MSSQL
///
/// The region profile to insert
/// Successful?
- public bool insertRow(SimProfileData profile)
+ public bool insertRow(RegionProfileData profile)
{
string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
index 5709bf0..9876ab1 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Data.MySQL
/// Maximum X coordinate
/// Maximum Y coordinate
///
- public SimProfileData[] GetProfilesInRange(uint xmin, uint ymin, uint xmax, uint ymax)
+ public RegionProfileData[] GetProfilesInRange(uint xmin, uint ymin, uint xmax, uint ymax)
{
try
{
@@ -111,9 +111,9 @@ namespace OpenSim.Framework.Data.MySQL
IDbCommand result = database.Query("SELECT * FROM regions WHERE locX >= ?xmin AND locX <= ?xmax AND locY >= ?ymin AND locY <= ?ymax", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row;
+ RegionProfileData row;
- List rows = new List();
+ List rows = new List();
while ((row = database.readSimRow(reader)) != null)
{
@@ -139,7 +139,7 @@ namespace OpenSim.Framework.Data.MySQL
///
/// Region location handle
/// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
+ public RegionProfileData GetProfileByHandle(ulong handle)
{
try
{
@@ -151,7 +151,7 @@ namespace OpenSim.Framework.Data.MySQL
IDbCommand result = database.Query("SELECT * FROM regions WHERE regionHandle = ?handle", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.readSimRow(reader);
+ RegionProfileData row = database.readSimRow(reader);
reader.Close();
result.Dispose();
@@ -171,7 +171,7 @@ namespace OpenSim.Framework.Data.MySQL
///
/// The region UUID
/// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
{
try
{
@@ -183,7 +183,7 @@ namespace OpenSim.Framework.Data.MySQL
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = ?uuid", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.readSimRow(reader);
+ RegionProfileData row = database.readSimRow(reader);
reader.Close();
result.Dispose();
@@ -203,7 +203,7 @@ namespace OpenSim.Framework.Data.MySQL
///
/// The profile to add
/// Successful?
- public DataResponse AddProfile(SimProfileData profile)
+ public DataResponse AddProfile(RegionProfileData profile)
{
lock (database)
{
@@ -232,7 +232,7 @@ namespace OpenSim.Framework.Data.MySQL
if (throwHissyFit)
throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
- SimProfileData data = GetProfileByLLUUID(uuid);
+ RegionProfileData data = GetProfileByLLUUID(uuid);
return (handle == data.regionHandle && authkey == data.regionSecret);
}
diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
index d3f6976..8600d6b 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
@@ -267,9 +267,9 @@ namespace OpenSim.Framework.Data.MySQL
///
/// An active database reader
/// A region profile
- public SimProfileData readSimRow(IDataReader reader)
+ public RegionProfileData readSimRow(IDataReader reader)
{
- SimProfileData retval = new SimProfileData();
+ RegionProfileData retval = new RegionProfileData();
if (reader.Read())
{
@@ -583,7 +583,7 @@ namespace OpenSim.Framework.Data.MySQL
///
/// The region to insert
/// Success?
- public bool insertRegion(SimProfileData regiondata)
+ public bool insertRegion(RegionProfileData regiondata)
{
string sql = "REPLACE INTO regions (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
index a7ff0f7..2fc80b4 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
@@ -86,7 +86,7 @@ namespace OpenSim.Framework.Data.SQLite
/// maximum X coordinate
/// maximum Y coordinate
/// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ public RegionProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
{
return null;
}
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Data.SQLite
///
/// Region location handle
/// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
+ public RegionProfileData GetProfileByHandle(ulong handle)
{
Dictionary param = new Dictionary();
param["handle"] = handle.ToString();
@@ -104,7 +104,7 @@ namespace OpenSim.Framework.Data.SQLite
IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.getRow(reader);
+ RegionProfileData row = database.getRow(reader);
reader.Close();
result.Dispose();
@@ -116,7 +116,7 @@ namespace OpenSim.Framework.Data.SQLite
///
/// The region UUID
/// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
{
Dictionary param = new Dictionary();
param["uuid"] = uuid.ToStringHyphenated();
@@ -124,7 +124,7 @@ namespace OpenSim.Framework.Data.SQLite
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
IDataReader reader = result.ExecuteReader();
- SimProfileData row = database.getRow(reader);
+ RegionProfileData row = database.getRow(reader);
reader.Close();
result.Dispose();
@@ -136,7 +136,7 @@ namespace OpenSim.Framework.Data.SQLite
///
/// The profile to add
/// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
+ public DataResponse AddProfile(RegionProfileData profile)
{
if (database.insertRow(profile))
{
@@ -162,7 +162,7 @@ namespace OpenSim.Framework.Data.SQLite
if (throwHissyFit)
throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
- SimProfileData data = GetProfileByLLUUID(uuid);
+ RegionProfileData data = GetProfileByLLUUID(uuid);
return (handle == data.regionHandle && authkey == data.regionSecret);
}
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteManager.cs b/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
index f73f480..5954fba 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
@@ -161,9 +161,9 @@ namespace OpenSim.Framework.Data.SQLite
///
/// An active database reader
/// A region profile
- public SimProfileData getRow(IDataReader reader)
+ public RegionProfileData getRow(IDataReader reader)
{
- SimProfileData retval = new SimProfileData();
+ RegionProfileData retval = new RegionProfileData();
if (reader.Read())
{
@@ -217,7 +217,7 @@ namespace OpenSim.Framework.Data.SQLite
///
/// The region to insert
/// Success?
- public bool insertRow(SimProfileData profile)
+ public bool insertRow(RegionProfileData profile)
{
string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
diff --git a/OpenSim/Framework/Data/GridData.cs b/OpenSim/Framework/Data/GridData.cs
index 7075922..2a5b8f6 100644
--- a/OpenSim/Framework/Data/GridData.cs
+++ b/OpenSim/Framework/Data/GridData.cs
@@ -47,14 +47,14 @@ namespace OpenSim.Framework.Data
///
/// A 64bit Region Handle
/// A simprofile
- SimProfileData GetProfileByHandle(ulong regionHandle);
+ RegionProfileData GetProfileByHandle(ulong regionHandle);
///
/// Returns a sim profile from a UUID
///
/// A 128bit UUID
/// A sim profile
- SimProfileData GetProfileByLLUUID(LLUUID UUID);
+ RegionProfileData GetProfileByLLUUID(LLUUID UUID);
///
/// Returns all profiles within the specified range
@@ -64,7 +64,7 @@ namespace OpenSim.Framework.Data
/// Maximum sim coordinate (X)
/// Maximum sim coordinate (Y)
/// An array containing all the sim profiles in the specified range
- SimProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
+ RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
///
/// Authenticates a sim by use of it's recv key.
@@ -103,7 +103,7 @@ namespace OpenSim.Framework.Data
///
/// The profile to add
/// RESPONSE_OK if successful, error if not.
- DataResponse AddProfile(SimProfileData profile);
+ DataResponse AddProfile(RegionProfileData profile);
ReservationData GetReservationAtPoint(uint x, uint y);
diff --git a/OpenSim/Framework/Data/RegionProfileData.cs b/OpenSim/Framework/Data/RegionProfileData.cs
new file mode 100644
index 0000000..5e5dac6
--- /dev/null
+++ b/OpenSim/Framework/Data/RegionProfileData.cs
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+using Nwc.XmlRpc;
+
+using System;
+using System.Collections;
+
+namespace OpenSim.Framework.Data
+{
+ ///
+ /// A class which contains information known to the grid server about a region
+ ///
+ public class RegionProfileData
+ {
+ ///
+ /// The name of the region
+ ///
+ public string regionName = "";
+
+ ///
+ /// A 64-bit number combining map position into a (mostly) unique ID
+ ///
+ public ulong regionHandle;
+
+ ///
+ /// OGS/OpenSim Specific ID for a region
+ ///
+ public LLUUID UUID;
+
+ ///
+ /// Coordinates of the region
+ ///
+ public uint regionLocX;
+ public uint regionLocY;
+ public uint regionLocZ; // Reserved (round-robin, layers, etc)
+
+ ///
+ /// Authentication secrets
+ ///
+ /// Not very secure, needs improvement.
+ public string regionSendKey = "";
+ public string regionRecvKey = "";
+ public string regionSecret = "";
+
+ ///
+ /// Whether the region is online
+ ///
+ public bool regionOnline;
+
+ ///
+ /// Information about the server that the region is currently hosted on
+ ///
+ public string serverIP = "";
+ public uint serverPort;
+ public string serverURI = "";
+
+ public uint httpPort;
+ public uint remotingPort;
+ public string httpServerURI = "";
+
+ ///
+ /// Set of optional overrides. Can be used to create non-eulicidean spaces.
+ ///
+ public ulong regionNorthOverrideHandle;
+ public ulong regionSouthOverrideHandle;
+ public ulong regionEastOverrideHandle;
+ public ulong regionWestOverrideHandle;
+
+ ///
+ /// Optional: URI Location of the region database
+ ///
+ /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server
+ public string regionDataURI = "";
+
+ ///
+ /// Region Asset Details
+ ///
+ public string regionAssetURI = "";
+ public string regionAssetSendKey = "";
+ public string regionAssetRecvKey = "";
+
+ ///
+ /// Region Userserver Details
+ ///
+ public string regionUserURI = "";
+ public string regionUserSendKey = "";
+ public string regionUserRecvKey = "";
+
+ ///
+ /// Region Map Texture Asset
+ ///
+ public LLUUID regionMapTextureID = new LLUUID("00000000-0000-0000-9999-000000000006");
+
+ ///
+ /// Get Sim profile data from grid server when in grid mode
+ ///
+ ///
+ ///
+ ///
+ ///
+ public RegionProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
+ {
+ Hashtable requestData = new Hashtable();
+ requestData["region_uuid"] = region_uuid.UUID.ToString();
+ requestData["authkey"] = gridserver_sendkey;
+ ArrayList SendParams = new ArrayList();
+ SendParams.Add(requestData);
+ XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
+ XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
+
+ Hashtable responseData = (Hashtable)GridResp.Value;
+
+ if (responseData.ContainsKey("error"))
+ {
+ return null;
+ }
+
+ RegionProfileData simData = new RegionProfileData();
+ simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
+ simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
+ simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
+ simData.serverIP = (string)responseData["sim_ip"];
+ simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
+ simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
+ simData.UUID = new LLUUID((string)responseData["region_UUID"]);
+ simData.regionName = (string)responseData["region_name"];
+
+ return simData;
+ }
+ public RegionProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
+ {
+ Hashtable requestData = new Hashtable();
+ requestData["region_handle"] = region_handle.ToString();
+ requestData["authkey"] = gridserver_sendkey;
+ ArrayList SendParams = new ArrayList();
+ SendParams.Add(requestData);
+ XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
+ XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
+
+ Hashtable responseData = (Hashtable)GridResp.Value;
+
+ if (responseData.ContainsKey("error"))
+ {
+ return null;
+ }
+
+ RegionProfileData simData = new RegionProfileData();
+ simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
+ simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
+ simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
+ simData.serverIP = (string)responseData["sim_ip"];
+ simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
+ simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
+ simData.UUID = new LLUUID((string)responseData["region_UUID"]);
+ simData.regionName = (string)responseData["region_name"];
+
+ return simData;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data/SimProfileData.cs b/OpenSim/Framework/Data/SimProfileData.cs
deleted file mode 100644
index abde1f3..0000000
--- a/OpenSim/Framework/Data/SimProfileData.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-using Nwc.XmlRpc;
-
-using System;
-using System.Collections;
-
-namespace OpenSim.Framework.Data
-{
- ///
- /// A class which contains information known to the grid server about a region
- ///
- public class SimProfileData
- {
- ///
- /// The name of the region
- ///
- public string regionName = "";
-
- ///
- /// A 64-bit number combining map position into a (mostly) unique ID
- ///
- public ulong regionHandle;
-
- ///
- /// OGS/OpenSim Specific ID for a region
- ///
- public LLUUID UUID;
-
- ///
- /// Coordinates of the region
- ///
- public uint regionLocX;
- public uint regionLocY;
- public uint regionLocZ; // Reserved (round-robin, layers, etc)
-
- ///
- /// Authentication secrets
- ///
- /// Not very secure, needs improvement.
- public string regionSendKey = "";
- public string regionRecvKey = "";
- public string regionSecret = "";
-
- ///
- /// Whether the region is online
- ///
- public bool regionOnline;
-
- ///
- /// Information about the server that the region is currently hosted on
- ///
- public string serverIP = "";
- public uint serverPort;
- public string serverURI = "";
-
- public uint httpPort;
- public uint remotingPort;
- public string httpServerURI = "";
-
- ///
- /// Set of optional overrides. Can be used to create non-eulicidean spaces.
- ///
- public ulong regionNorthOverrideHandle;
- public ulong regionSouthOverrideHandle;
- public ulong regionEastOverrideHandle;
- public ulong regionWestOverrideHandle;
-
- ///
- /// Optional: URI Location of the region database
- ///
- /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server
- public string regionDataURI = "";
-
- ///
- /// Region Asset Details
- ///
- public string regionAssetURI = "";
- public string regionAssetSendKey = "";
- public string regionAssetRecvKey = "";
-
- ///
- /// Region Userserver Details
- ///
- public string regionUserURI = "";
- public string regionUserSendKey = "";
- public string regionUserRecvKey = "";
-
- ///
- /// Region Map Texture Asset
- ///
- public LLUUID regionMapTextureID = new LLUUID("00000000-0000-0000-9999-000000000006");
-
- ///
- /// Get Sim profile data from grid server when in grid mode
- ///
- ///
- ///
- ///
- ///
- public SimProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
- {
- Hashtable requestData = new Hashtable();
- requestData["region_uuid"] = region_uuid.UUID.ToString();
- requestData["authkey"] = gridserver_sendkey;
- ArrayList SendParams = new ArrayList();
- SendParams.Add(requestData);
- XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
- XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
-
- Hashtable responseData = (Hashtable)GridResp.Value;
-
- if (responseData.ContainsKey("error"))
- {
- return null;
- }
-
- SimProfileData simData = new SimProfileData();
- simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
- simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
- simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
- simData.serverIP = (string)responseData["sim_ip"];
- simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
- simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
- simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
- simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
- simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
- simData.UUID = new LLUUID((string)responseData["region_UUID"]);
- simData.regionName = (string)responseData["region_name"];
-
- return simData;
- }
- public SimProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
- {
- Hashtable requestData = new Hashtable();
- requestData["region_handle"] = region_handle.ToString();
- requestData["authkey"] = gridserver_sendkey;
- ArrayList SendParams = new ArrayList();
- SendParams.Add(requestData);
- XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
- XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
-
- Hashtable responseData = (Hashtable)GridResp.Value;
-
- if (responseData.ContainsKey("error"))
- {
- return null;
- }
-
- SimProfileData simData = new SimProfileData();
- simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
- simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
- simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
- simData.serverIP = (string)responseData["sim_ip"];
- simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
- simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
- simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
- simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
- simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
- simData.UUID = new LLUUID((string)responseData["region_UUID"]);
- simData.regionName = (string)responseData["region_name"];
-
- return simData;
- }
- }
-}
diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs
index 64e8e4b..81197fd 100644
--- a/OpenSim/Grid/GridServer/GridManager.cs
+++ b/OpenSim/Grid/GridServer/GridManager.cs
@@ -122,7 +122,7 @@ namespace OpenSim.Grid.GridServer
///
/// A UUID key of the region to return
/// A SimProfileData for the region
- public SimProfileData getRegion(LLUUID uuid)
+ public RegionProfileData getRegion(LLUUID uuid)
{
foreach(KeyValuePair kvp in _plugins) {
try
@@ -142,7 +142,7 @@ namespace OpenSim.Grid.GridServer
///
/// A regionHandle of the region to return
/// A SimProfileData for the region
- public SimProfileData getRegion(ulong handle)
+ public RegionProfileData getRegion(ulong handle)
{
foreach (KeyValuePair kvp in _plugins)
{
@@ -158,16 +158,16 @@ namespace OpenSim.Grid.GridServer
return null;
}
- public Dictionary getRegions(uint xmin, uint ymin, uint xmax, uint ymax)
+ public Dictionary getRegions(uint xmin, uint ymin, uint xmax, uint ymax)
{
- Dictionary regions = new Dictionary();
+ Dictionary regions = new Dictionary();
foreach (KeyValuePair kvp in _plugins)
{
try
{
- SimProfileData[] neighbours = kvp.Value.GetProfilesInRange(xmin, ymin, xmax, ymax);
- foreach (SimProfileData neighbour in neighbours)
+ RegionProfileData[] neighbours = kvp.Value.GetProfilesInRange(xmin, ymin, xmax, ymax);
+ foreach (RegionProfileData neighbour in neighbours)
{
regions[neighbour.regionHandle] = neighbour;
}
@@ -191,8 +191,8 @@ namespace OpenSim.Grid.GridServer
public string GetXMLNeighbours(ulong reqhandle)
{
string response = "";
- SimProfileData central_region = getRegion(reqhandle);
- SimProfileData neighbour;
+ RegionProfileData central_region = getRegion(reqhandle);
+ RegionProfileData neighbour;
for (int x = -1; x < 2; x++) for (int y = -1; y < 2; y++)
{
if (getRegion(Util.UIntsToLong((uint)((central_region.regionLocX + x) * 256), (uint)(central_region.regionLocY + y) * 256)) != null)
@@ -223,7 +223,7 @@ namespace OpenSim.Grid.GridServer
Hashtable responseData = new Hashtable();
response.Value = responseData;
- SimProfileData TheSim = null;
+ RegionProfileData TheSim = null;
Hashtable requestData = (Hashtable)request.Params[0];
string myword;
if (requestData.ContainsKey("UUID"))
@@ -254,7 +254,7 @@ namespace OpenSim.Grid.GridServer
myword = "connection";
}
- TheSim = new SimProfileData();
+ TheSim = new RegionProfileData();
TheSim.regionRecvKey = config.SimRecvKey;
TheSim.regionSendKey = config.SimSendKey;
@@ -325,16 +325,16 @@ namespace OpenSim.Grid.GridServer
ArrayList SimNeighboursData = new ArrayList();
- SimProfileData neighbour;
+ RegionProfileData neighbour;
Hashtable NeighbourBlock;
bool fastMode = false; // Only compatible with MySQL right now
if (fastMode)
{
- Dictionary neighbours = getRegions(TheSim.regionLocX - 1, TheSim.regionLocY - 1, TheSim.regionLocX + 1, TheSim.regionLocY + 1);
+ Dictionary neighbours = getRegions(TheSim.regionLocX - 1, TheSim.regionLocY - 1, TheSim.regionLocX + 1, TheSim.regionLocY + 1);
- foreach (KeyValuePair aSim in neighbours)
+ foreach (KeyValuePair aSim in neighbours)
{
NeighbourBlock = new Hashtable();
NeighbourBlock["sim_ip"] = Util.GetHostFromDNS(aSim.Value.serverIP.ToString()).ToString();
@@ -395,7 +395,7 @@ namespace OpenSim.Grid.GridServer
{
Hashtable requestData = (Hashtable)request.Params[0];
Hashtable responseData = new Hashtable();
- SimProfileData simData = null;
+ RegionProfileData simData = null;
if (requestData.ContainsKey("region_UUID"))
{
simData = getRegion(new LLUUID((string)requestData["region_UUID"]));
@@ -461,9 +461,9 @@ namespace OpenSim.Grid.GridServer
if (fastMode)
{
- Dictionary neighbours = getRegions((uint)xmin, (uint)ymin, (uint)xmax, (uint)ymax);
+ Dictionary neighbours = getRegions((uint)xmin, (uint)ymin, (uint)xmax, (uint)ymax);
- foreach (KeyValuePair aSim in neighbours)
+ foreach (KeyValuePair aSim in neighbours)
{
Hashtable simProfileBlock = new Hashtable();
simProfileBlock["x"] = aSim.Value.regionLocX.ToString();
@@ -489,7 +489,7 @@ namespace OpenSim.Grid.GridServer
}
else
{
- SimProfileData simProfile;
+ RegionProfileData simProfile;
for (int x = xmin; x < xmax+1; x++)
{
for (int y = ymin; y < ymax+1; y++)
@@ -564,7 +564,7 @@ namespace OpenSim.Grid.GridServer
{
string respstring = String.Empty;
- SimProfileData TheSim;
+ RegionProfileData TheSim;
LLUUID UUID = new LLUUID(param);
TheSim = getRegion(UUID);
@@ -598,11 +598,11 @@ namespace OpenSim.Grid.GridServer
public string RestSetSimMethod(string request, string path, string param)
{
Console.WriteLine("Processing region update via REST method");
- SimProfileData TheSim;
+ RegionProfileData TheSim;
TheSim = getRegion(new LLUUID(param));
if ((TheSim) == null)
{
- TheSim = new SimProfileData();
+ TheSim = new RegionProfileData();
LLUUID UUID = new LLUUID(param);
TheSim.UUID = UUID;
TheSim.regionRecvKey = config.SimRecvKey;
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs
index 8f89727..10a8974 100644
--- a/OpenSim/Grid/UserServer/UserLoginService.cs
+++ b/OpenSim/Grid/UserServer/UserLoginService.cs
@@ -56,8 +56,8 @@ namespace OpenSim.Grid.UserServer
/// The user profile
public override void CustomiseResponse(LoginResponse response, UserProfileData theUser)
{
- // Load information from the gridserver
- SimProfileData SimInfo = new SimProfileData();
+ // Load information from the gridserver
+ RegionProfileData SimInfo = new RegionProfileData();
SimInfo = SimInfo.RequestSimProfileData(theUser.currentAgent.currentHandle, m_config.GridServerURL, m_config.GridSendKey, m_config.GridRecvKey);
// Customise the response
--
cgit v1.1