* Optimized usings

* shortened references
* Removed redundant 'this'
* Normalized EOF
afrisby
lbsa71 2007-12-27 21:41:48 +00:00
parent d508d77122
commit efd90b56b7
277 changed files with 4685 additions and 4408 deletions

View File

@ -1,4 +1,4 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
@ -26,21 +26,14 @@
* *
*/ */
using System; using Mono.Addins;
using System.Collections.Generic;
using System.Text;
using OpenSim;
using OpenSim.Framework.Console;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Framework.RegionLoader.Filesystem; using OpenSim.Framework.RegionLoader.Filesystem;
using OpenSim.Framework.RegionLoader.Web; using OpenSim.Framework.RegionLoader.Web;
using Mono.Addins;
using Mono.Addins.Description;
using Nini;
using Nini.Config;
[assembly:Addin] [assembly : Addin]
[assembly:AddinDependency ("OpenSim", "0.4")] [assembly : AddinDependency("OpenSim", "0.4")]
namespace OpenSim.ApplicationPlugins.LoadRegions namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
@ -65,7 +58,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
regionLoader.SetIniConfigSource(openSim.ConfigSource); regionLoader.SetIniConfigSource(openSim.ConfigSource);
RegionInfo[] regionsToLoad = regionLoader.LoadRegions(); RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
openSim.ModuleLoader.LoadDefaultSharedModules(); openSim.ModuleLoader.LoadDefaultSharedModules();
for (int i = 0; i < regionsToLoad.Length; i++) for (int i = 0; i < regionsToLoad.Length; i++)
@ -77,6 +70,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
openSim.ModuleLoader.PostInitialise(); openSim.ModuleLoader.PostInitialise();
openSim.ModuleLoader.ClearCache(); openSim.ModuleLoader.ClearCache();
} }
public void LoadRegionFromConfig(OpenSimMain openSim, ulong regionhandle) public void LoadRegionFromConfig(OpenSimMain openSim, ulong regionhandle)
{ {
MainLog.Instance.Notice("LOADREGIONS", "Load Regions addin being initialised"); MainLog.Instance.Notice("LOADREGIONS", "Load Regions addin being initialised");
@ -103,11 +97,10 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
openSim.CreateRegion(regionsToLoad[i]); openSim.CreateRegion(regionsToLoad[i]);
} }
} }
} }
public void Close() public void Close()
{ {
} }
} }
} }

View File

@ -1,26 +1,28 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("OpenSim.Addin")]
[assembly: AssemblyDescription("")] [assembly : AssemblyTitle("OpenSim.Addin")]
[assembly: AssemblyConfiguration("")] [assembly : AssemblyDescription("")]
[assembly: AssemblyCompany("")] [assembly : AssemblyConfiguration("")]
[assembly: AssemblyProduct("OpenSim.Addin")] [assembly : AssemblyCompany("")]
[assembly: AssemblyCopyright("Copyright © 2007")] [assembly : AssemblyProduct("OpenSim.Addin")]
[assembly: AssemblyTrademark("")] [assembly : AssemblyCopyright("Copyright © 2007")]
[assembly: AssemblyCulture("")] [assembly : AssemblyTrademark("")]
[assembly : AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from // to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
[assembly : ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("45b979d9-d8d4-42fd-9780-fe9ac7e86cb4")]
[assembly : Guid("45b979d9-d8d4-42fd-9780-fe9ac7e86cb4")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
@ -32,5 +34,6 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly : AssemblyVersion("1.0.0.0")]
[assembly : AssemblyFileVersion("1.0.0.0")]

View File

@ -27,24 +27,19 @@
*/ */
using System; using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using OpenSim;
using OpenSim.Framework.Console;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using Mono.Addins;
using Mono.Addins.Description;
using Nini;
using Nini.Config;
using Nwc.XmlRpc;
using System.Collections; using System.Collections;
using System.Net;
using System.Timers; using System.Timers;
using libsecondlife; using libsecondlife;
using Mono.Addins;
using Nwc.XmlRpc;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Framework.Servers;
using OpenSim.Region.Environment.Scenes;
[assembly: Addin] [assembly : Addin]
[assembly: AddinDependency("OpenSim", "0.4")] [assembly : AddinDependency("OpenSim", "0.4")]
namespace OpenSim.ApplicationPlugins.LoadRegions namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
@ -54,6 +49,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
private OpenSimMain m_app; private OpenSimMain m_app;
private BaseHttpServer m_httpd; private BaseHttpServer m_httpd;
private string requiredPassword = ""; private string requiredPassword = "";
public void Initialise(OpenSimMain openSim) public void Initialise(OpenSimMain openSim)
{ {
try try
@ -81,12 +77,13 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
public XmlRpcResponse XmlRpcRestartMethod(XmlRpcRequest request) public XmlRpcResponse XmlRpcRestartMethod(XmlRpcRequest request)
{ {
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable) request.Params[0];
LLUUID regionID = new LLUUID((string)requestData["regionID"]); LLUUID regionID = new LLUUID((string) requestData["regionID"]);
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
if (requiredPassword != "" && (!requestData.Contains("password") || (string)requestData["password"] != requiredPassword)) if (requiredPassword != "" &&
(!requestData.Contains("password") || (string) requestData["password"] != requiredPassword))
{ {
responseData["accepted"] = "false"; responseData["accepted"] = "false";
response.Value = responseData; response.Value = responseData;
@ -96,7 +93,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
responseData["accepted"] = "true"; responseData["accepted"] = "true";
response.Value = responseData; response.Value = responseData;
OpenSim.Region.Environment.Scenes.Scene RebootedScene; Scene RebootedScene;
if (m_app.SceneManager.TryGetScene(regionID, out RebootedScene)) if (m_app.SceneManager.TryGetScene(regionID, out RebootedScene))
{ {
@ -115,18 +112,18 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
public XmlRpcResponse XmlRpcAlertMethod(XmlRpcRequest request) public XmlRpcResponse XmlRpcAlertMethod(XmlRpcRequest request)
{ {
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable) request.Params[0];
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
if (requiredPassword != "" && (!requestData.Contains("password") || (string)requestData["password"] != requiredPassword)) if (requiredPassword != "" &&
(!requestData.Contains("password") || (string) requestData["password"] != requiredPassword))
{ {
responseData["accepted"] = "false"; responseData["accepted"] = "false";
response.Value = responseData; response.Value = responseData;
} }
else else
{ {
string message = (string) requestData["message"];
string message = (string)requestData["message"];
MainLog.Instance.Verbose("RADMIN", "Broadcasting: " + message); MainLog.Instance.Verbose("RADMIN", "Broadcasting: " + message);
responseData["accepted"] = "true"; responseData["accepted"] = "true";
@ -142,23 +139,24 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
MainLog.Instance.Verbose("RADMIN", "Received Shutdown Administrator Request"); MainLog.Instance.Verbose("RADMIN", "Received Shutdown Administrator Request");
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable) request.Params[0];
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
if (requiredPassword != "" && (!requestData.Contains("password") || (string)requestData["password"] != requiredPassword)) if (requiredPassword != "" &&
(!requestData.Contains("password") || (string) requestData["password"] != requiredPassword))
{ {
responseData["accepted"] = "false"; responseData["accepted"] = "false";
response.Value = responseData; response.Value = responseData;
} }
else else
{ {
if ((string)requestData["shutdown"] == "delayed") if ((string) requestData["shutdown"] == "delayed")
{ {
int timeout = (Int32)requestData["milliseconds"]; int timeout = (Int32) requestData["milliseconds"];
responseData["accepted"] = "true"; responseData["accepted"] = "true";
response.Value = responseData; response.Value = responseData;
m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int)(timeout / 1000)).ToString() + m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int) (timeout/1000)).ToString() +
" second(s). Please save what you are doing and log out."); " second(s). Please save what you are doing and log out.");
// Perform shutdown // Perform shutdown
@ -197,9 +195,10 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
MainLog.Instance.Verbose("RADMIN", "Received Create Region Administrator Request"); MainLog.Instance.Verbose("RADMIN", "Received Create Region Administrator Request");
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable) request.Params[0];
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
if (requiredPassword != "" && (!requestData.Contains("password") || (string)requestData["password"] != requiredPassword)) if (requiredPassword != "" &&
(!requestData.Contains("password") || (string) requestData["password"] != requiredPassword))
{ {
responseData["created"] = "false"; responseData["created"] = "false";
response.Value = responseData; response.Value = responseData;
@ -210,22 +209,22 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
try try
{ {
newRegionData.RegionID = (string)requestData["region_id"]; newRegionData.RegionID = (string) requestData["region_id"];
newRegionData.RegionName = (string)requestData["region_name"]; newRegionData.RegionName = (string) requestData["region_name"];
newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]); newRegionData.RegionLocX = Convert.ToUInt32((Int32) requestData["region_x"]);
newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]); newRegionData.RegionLocY = Convert.ToUInt32((Int32) requestData["region_y"]);
// Security risk // Security risk
newRegionData.DataStore = (string)requestData["datastore"]; newRegionData.DataStore = (string) requestData["datastore"];
newRegionData.InternalEndPoint = new IPEndPoint( newRegionData.InternalEndPoint = new IPEndPoint(
IPAddress.Parse((string)requestData["listen_ip"]), 0); IPAddress.Parse((string) requestData["listen_ip"]), 0);
newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"]; newRegionData.InternalEndPoint.Port = (Int32) requestData["listen_port"];
newRegionData.ExternalHostName = (string)requestData["external_address"]; newRegionData.ExternalHostName = (string) requestData["external_address"];
newRegionData.MasterAvatarFirstName = (string)requestData["region_master_first"]; newRegionData.MasterAvatarFirstName = (string) requestData["region_master_first"];
newRegionData.MasterAvatarLastName = (string)requestData["region_master_last"]; newRegionData.MasterAvatarLastName = (string) requestData["region_master_last"];
m_app.CreateRegion(newRegionData); m_app.CreateRegion(newRegionData);
@ -245,7 +244,6 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
public void Close() public void Close()
{ {
} }
} }
} }

View File

@ -35,12 +35,13 @@ namespace OpenSim.Framework
public AgentCircuitData() public AgentCircuitData()
{ {
} }
public AgentCircuitData(sAgentCircuitData cAgent) public AgentCircuitData(sAgentCircuitData cAgent)
{ {
AgentID = new LLUUID(cAgent.AgentID); AgentID = new LLUUID(cAgent.AgentID);
SessionID = new LLUUID(cAgent.SessionID); SessionID = new LLUUID(cAgent.SessionID);
SecureSessionID = new LLUUID(cAgent.SecureSessionID); SecureSessionID = new LLUUID(cAgent.SecureSessionID);
startpos = new LLVector3(cAgent.startposx,cAgent.startposy,cAgent.startposz); startpos = new LLVector3(cAgent.startposx, cAgent.startposy, cAgent.startposz);
firstname = cAgent.firstname; firstname = cAgent.firstname;
lastname = cAgent.lastname; lastname = cAgent.lastname;
circuitcode = cAgent.circuitcode; circuitcode = cAgent.circuitcode;
@ -69,6 +70,7 @@ namespace OpenSim.Framework
public sAgentCircuitData() public sAgentCircuitData()
{ {
} }
public sAgentCircuitData(AgentCircuitData cAgent) public sAgentCircuitData(AgentCircuitData cAgent)
{ {
AgentID = cAgent.AgentID.UUID; AgentID = cAgent.AgentID.UUID;
@ -85,6 +87,7 @@ namespace OpenSim.Framework
BaseFolder = cAgent.BaseFolder.UUID; BaseFolder = cAgent.BaseFolder.UUID;
CapsPath = cAgent.CapsPath; CapsPath = cAgent.CapsPath;
} }
public Guid AgentID; public Guid AgentID;
public Guid SessionID; public Guid SessionID;
public Guid SecureSessionID; public Guid SecureSessionID;
@ -98,8 +101,5 @@ namespace OpenSim.Framework
public Guid InventoryFolder; public Guid InventoryFolder;
public Guid BaseFolder; public Guid BaseFolder;
public string CapsPath = ""; public string CapsPath = "";
} }
} }

View File

@ -124,4 +124,4 @@ namespace OpenSim.Framework
return false; return false;
} }
} }
} }

View File

@ -255,4 +255,4 @@ namespace OpenSim.Framework
return result; return result;
} }
} }
} }

View File

@ -52,4 +52,4 @@ namespace OpenSim.Framework
Name = name; Name = name;
} }
} }
} }

View File

@ -56,4 +56,4 @@ namespace OpenSim.Framework
LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position); LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position);
} }
} }
} }

View File

@ -45,4 +45,4 @@ namespace OpenSim.Framework
public string Name; public string Name;
public LLUUID UUID; public LLUUID UUID;
} }
} }

View File

@ -36,4 +36,4 @@ namespace OpenSim.Framework
{ {
} }
} }
} }

View File

@ -68,4 +68,4 @@ namespace OpenSim.Framework
} }
} }
} }
} }

View File

@ -34,7 +34,7 @@ namespace OpenSim.Framework
{ {
private Queue<T> _queue = new Queue<T>(); private Queue<T> _queue = new Queue<T>();
private object _queueSync = new object(); private object _queueSync = new object();
public void Enqueue(T value) public void Enqueue(T value)
{ {
lock (_queueSync) lock (_queueSync)
@ -55,4 +55,4 @@ namespace OpenSim.Framework
} }
} }
} }
} }

View File

@ -27,8 +27,6 @@
*/ */
using System; using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
@ -37,8 +35,8 @@ namespace OpenSim.Framework
{ {
public ChildAgentDataUpdate() public ChildAgentDataUpdate()
{ {
} }
public sLLVector3 Position; public sLLVector3 Position;
public ulong regionHandle; public ulong regionHandle;
public float drawdistance; public float drawdistance;
@ -47,6 +45,6 @@ namespace OpenSim.Framework
public float AVHeight; public float AVHeight;
public Guid AgentID; public Guid AgentID;
public float godlevel; public float godlevel;
public byte[] throttles; public byte[] throttles;
} }
} }

View File

@ -26,9 +26,11 @@
* *
*/ */
using System;
using System.Collections.Generic; using System.Collections.Generic;
using libsecondlife; using libsecondlife;
using libsecondlife.Packets; using libsecondlife.Packets;
using OpenSim.Framework.Console;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
@ -40,7 +42,6 @@ namespace OpenSim.Framework
public void ForEachClient(ForEachClientDelegate whatToDo) public void ForEachClient(ForEachClientDelegate whatToDo)
{ {
// Wasteful, I know // Wasteful, I know
IClientAPI[] LocalClients = new IClientAPI[0]; IClientAPI[] LocalClients = new IClientAPI[0];
lock (m_clients) lock (m_clients)
@ -55,9 +56,11 @@ namespace OpenSim.Framework
{ {
whatToDo(LocalClients[i]); whatToDo(LocalClients[i]);
} }
catch (System.Exception e) catch (Exception e)
{ {
OpenSim.Framework.Console.MainLog.Instance.Warn("CLIENT", "Unable to do ForEachClient for one of the clients" + "\n Reason: " + e.ToString()); MainLog.Instance.Warn("CLIENT",
"Unable to do ForEachClient for one of the clients" + "\n Reason: " +
e.ToString());
} }
} }
} }
@ -107,20 +110,19 @@ namespace OpenSim.Framework
IClientAPI client; IClientAPI client;
try try
{ {
if (m_clients.TryGetValue(circuits[i], out client)) if (m_clients.TryGetValue(circuits[i], out client))
{ {
Remove(client.CircuitCode); Remove(client.CircuitCode);
client.Close(false); client.Close(false);
} }
} }
catch (System.Exception e) catch (Exception e)
{ {
OpenSim.Framework.Console.MainLog.Instance.Error("CLIENT", "Unable to shutdown circuit for: " + agentId.ToString() + "\n Reason: " + e.ToString()); MainLog.Instance.Error("CLIENT",
"Unable to shutdown circuit for: " + agentId.ToString() + "\n Reason: " +
e.ToString());
} }
} }
} }
private uint[] GetAllCircuits(LLUUID agentId) private uint[] GetAllCircuits(LLUUID agentId)
@ -135,7 +137,7 @@ namespace OpenSim.Framework
} }
for (int i = 0; i < LocalClients.Length; i++ ) for (int i = 0; i < LocalClients.Length; i++)
{ {
if (LocalClients[i].AgentId == agentId) if (LocalClients[i].AgentId == agentId)
{ {
@ -168,7 +170,6 @@ namespace OpenSim.Framework
packet.AgentData.SessionID = LocalClients[i].SessionId; packet.AgentData.SessionID = LocalClients[i].SessionId;
LocalClients[i].OutPacket(packet, ThrottleOutPacketType.Task); LocalClients[i].OutPacket(packet, ThrottleOutPacketType.Task);
} }
} }
} }

View File

@ -28,7 +28,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Threading; using System.Threading;
using libsecondlife; using libsecondlife;
using libsecondlife.Packets; using libsecondlife.Packets;
@ -92,7 +91,7 @@ namespace OpenSim.Framework.Communications.Cache
Thread.Sleep(500); Thread.Sleep(500);
} }
catch (Exception e) catch (Exception e)
{ {
m_log.Error("ASSETCACHE", e.ToString()); m_log.Error("ASSETCACHE", e.ToString());
} }
} }
@ -177,30 +176,29 @@ namespace OpenSim.Framework.Communications.Cache
// packets from the client. // packets from the client.
int pollPeriod = 200; int pollPeriod = 200;
int maxPolls = 15; int maxPolls = 15;
AssetBase asset = GetCachedAsset(assetID); AssetBase asset = GetCachedAsset(assetID);
if (asset != null) if (asset != null)
{ {
return asset; return asset;
} }
m_assetServer.RequestAsset(assetID, isTexture); m_assetServer.RequestAsset(assetID, isTexture);
do do
{ {
Thread.Sleep(pollPeriod); Thread.Sleep(pollPeriod);
asset = GetCachedAsset(assetID); asset = GetCachedAsset(assetID);
if (asset != null) if (asset != null)
{ {
return asset; return asset;
} }
} } while (--maxPolls > 0);
while (--maxPolls > 0);
MainLog.Instance.Warn( MainLog.Instance.Warn(
"ASSETCACHE", "Asset {0} was not received before the retrieval timeout was reached"); "ASSETCACHE", "Asset {0} was not received before the retrieval timeout was reached");
return null; return null;
} }
@ -368,12 +366,13 @@ namespace OpenSim.Framework.Communications.Cache
{ {
// over max number of bytes so split up file // over max number of bytes so split up file
long restData = data.LongLength - m_maxPacketSize; long restData = data.LongLength - m_maxPacketSize;
int restPackets = (int) ((restData + m_maxPacketSize - 1) / m_maxPacketSize); int restPackets = (int) ((restData + m_maxPacketSize - 1)/m_maxPacketSize);
numPackets += restPackets; numPackets += restPackets;
} }
return numPackets; return numPackets;
} }
#region Assets #region Assets
/// <summary> /// <summary>
@ -448,7 +447,7 @@ namespace OpenSim.Framework.Communications.Cache
AssetRequest req; AssetRequest req;
for (int i = 0; i < num; i++) for (int i = 0; i < num; i++)
{ {
req = (AssetRequest)AssetRequests[i]; req = (AssetRequest) AssetRequests[i];
//Console.WriteLine("sending asset " + req.RequestAssetID); //Console.WriteLine("sending asset " + req.RequestAssetID);
TransferInfoPacket Transfer = new TransferInfoPacket(); TransferInfoPacket Transfer = new TransferInfoPacket();
Transfer.TransferInfo.ChannelType = 2; Transfer.TransferInfo.ChannelType = 2;
@ -458,7 +457,7 @@ namespace OpenSim.Framework.Communications.Cache
{ {
Transfer.TransferInfo.Params = new byte[20]; Transfer.TransferInfo.Params = new byte[20];
Array.Copy(req.RequestAssetID.GetBytes(), 0, Transfer.TransferInfo.Params, 0, 16); Array.Copy(req.RequestAssetID.GetBytes(), 0, Transfer.TransferInfo.Params, 0, 16);
int assType = (int)req.AssetInf.Type; int assType = (int) req.AssetInf.Type;
Array.Copy(Helpers.IntToBytes(assType), 0, Transfer.TransferInfo.Params, 16, 4); Array.Copy(Helpers.IntToBytes(assType), 0, Transfer.TransferInfo.Params, 16, 4);
} }
else if (req.AssetRequestSource == 3) else if (req.AssetRequestSource == 3)
@ -468,7 +467,7 @@ namespace OpenSim.Framework.Communications.Cache
//Array.Copy(req.RequestUser.AgentId.GetBytes(), 0, Transfer.TransferInfo.Params, 0, 16); //Array.Copy(req.RequestUser.AgentId.GetBytes(), 0, Transfer.TransferInfo.Params, 0, 16);
//Array.Copy(req.RequestUser.SessionId.GetBytes(), 0, Transfer.TransferInfo.Params, 16, 16); //Array.Copy(req.RequestUser.SessionId.GetBytes(), 0, Transfer.TransferInfo.Params, 16, 16);
} }
Transfer.TransferInfo.Size = (int)req.AssetInf.Data.Length; Transfer.TransferInfo.Size = (int) req.AssetInf.Data.Length;
Transfer.TransferInfo.TransferID = req.TransferRequestID; Transfer.TransferInfo.TransferID = req.TransferRequestID;
req.RequestUser.OutPacket(Transfer, ThrottleOutPacketType.Asset); req.RequestUser.OutPacket(Transfer, ThrottleOutPacketType.Asset);
@ -488,20 +487,20 @@ namespace OpenSim.Framework.Communications.Cache
// libsecondlife hardcodes 1500 as the maximum data chunk size // libsecondlife hardcodes 1500 as the maximum data chunk size
int maxChunkSize = 1500; int maxChunkSize = 1500;
int packetNumber = 0; int packetNumber = 0;
while (processedLength < req.AssetInf.Data.Length) while (processedLength < req.AssetInf.Data.Length)
{ {
TransferPacketPacket TransferPacket = new TransferPacketPacket(); TransferPacketPacket TransferPacket = new TransferPacketPacket();
TransferPacket.TransferData.Packet = packetNumber; TransferPacket.TransferData.Packet = packetNumber;
TransferPacket.TransferData.ChannelType = 2; TransferPacket.TransferData.ChannelType = 2;
TransferPacket.TransferData.TransferID = req.TransferRequestID; TransferPacket.TransferData.TransferID = req.TransferRequestID;
int chunkSize = Math.Min(req.AssetInf.Data.Length - processedLength, maxChunkSize); int chunkSize = Math.Min(req.AssetInf.Data.Length - processedLength, maxChunkSize);
byte[] chunk = new byte[chunkSize]; byte[] chunk = new byte[chunkSize];
Array.Copy(req.AssetInf.Data, processedLength, chunk, 0, chunk.Length); Array.Copy(req.AssetInf.Data, processedLength, chunk, 0, chunk.Length);
TransferPacket.TransferData.Data = chunk; TransferPacket.TransferData.Data = chunk;
// 0 indicates more packets to come, 1 indicates last packet // 0 indicates more packets to come, 1 indicates last packet
if (req.AssetInf.Data.Length - processedLength > maxChunkSize) if (req.AssetInf.Data.Length - processedLength > maxChunkSize)
{ {
@ -510,10 +509,10 @@ namespace OpenSim.Framework.Communications.Cache
else else
{ {
TransferPacket.TransferData.Status = 1; TransferPacket.TransferData.Status = 1;
} }
req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset); req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset);
processedLength += chunkSize; processedLength += chunkSize;
packetNumber++; packetNumber++;
} }
@ -609,4 +608,4 @@ namespace OpenSim.Framework.Communications.Cache
} }
} }
} }
} }

View File

@ -80,7 +80,7 @@ namespace OpenSim.Framework.Communications.Cache
IObjectSet result = db.Query(new AssetUUIDQuery(req.AssetID)); IObjectSet result = db.Query(new AssetUUIDQuery(req.AssetID));
if (result.Count > 0) if (result.Count > 0)
{ {
foundAsset = (AssetStorage)result.Next(); foundAsset = (AssetStorage) result.Next();
found = true; found = true;
} }
@ -93,7 +93,7 @@ namespace OpenSim.Framework.Communications.Cache
asset.Name = foundAsset.Name; asset.Name = foundAsset.Name;
idata = foundAsset.Data; idata = foundAsset.Data;
asset.Data = idata; asset.Data = idata;
return asset; return asset;
} }
else else
@ -141,4 +141,4 @@ namespace OpenSim.Framework.Communications.Cache
return (asset.UUID == _findID); return (asset.UUID == _findID);
} }
} }
} }

View File

@ -69,7 +69,7 @@ namespace OpenSim.Framework.Communications.Cache
{ {
MainLog.Instance.Verbose( MainLog.Instance.Verbose(
"ASSET", "Asset {0} received from asset server", req.AssetID); "ASSET", "Asset {0} received from asset server", req.AssetID);
_receiver.AssetReceived(asset, req.IsTexture); _receiver.AssetReceived(asset, req.IsTexture);
} }
else else
@ -112,9 +112,9 @@ namespace OpenSim.Framework.Communications.Cache
ProcessRequest(req); ProcessRequest(req);
} }
catch(Exception e) catch (Exception e)
{ {
MainLog.Instance.Error("ASSETSERVER", e.Message ); MainLog.Instance.Error("ASSETSERVER", e.Message);
} }
} }
} }
@ -149,7 +149,7 @@ namespace OpenSim.Framework.Communications.Cache
req.AssetID = assetID; req.AssetID = assetID;
req.IsTexture = isTexture; req.IsTexture = isTexture;
_assetRequests.Enqueue(req); _assetRequests.Enqueue(req);
MainLog.Instance.Verbose("ASSET", "Added {0} to request queue", assetID); MainLog.Instance.Verbose("ASSET", "Added {0} to request queue", assetID);
} }
@ -253,4 +253,4 @@ namespace OpenSim.Framework.Communications.Cache
assets.ForEach(action); assets.ForEach(action);
} }
} }
} }

View File

@ -106,4 +106,4 @@ namespace OpenSim.Framework.Communications.Cache
} }
} }
} }
} }

View File

@ -182,7 +182,7 @@ namespace OpenSim.Framework.Communications.Cache
Asset.Description = "empty"; Asset.Description = "empty";
Asset.Local = storeLocal; Asset.Local = storeLocal;
Asset.Temporary = tempFile; Asset.Temporary = tempFile;
TransactionID = transaction; TransactionID = transaction;
m_storeLocal = storeLocal; m_storeLocal = storeLocal;
if (Asset.Data.Length > 2) if (Asset.Data.Length > 2)
@ -312,6 +312,7 @@ namespace OpenSim.Framework.Communications.Cache
} }
#region Nested Classes currently not in use (waiting for them to be enabled) #region Nested Classes currently not in use (waiting for them to be enabled)
public class AssetCapsUploader public class AssetCapsUploader
{ {
// Fields // Fields
@ -424,6 +425,7 @@ namespace OpenSim.Framework.Communications.Cache
return text; return text;
} }
} }
#endregion #endregion
} }
} }

View File

@ -130,4 +130,4 @@ namespace OpenSim.Framework.Communications.Cache
return result; return result;
} }
} }
} }

View File

@ -27,10 +27,8 @@
*/ */
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Xml.Serialization; using System.Xml.Serialization;
using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
@ -65,9 +63,9 @@ namespace OpenSim.Framework.Communications.Cache
if (s.Length > 0) if (s.Length > 0)
{ {
XmlSerializer xs = new XmlSerializer(typeof(AssetBase)); XmlSerializer xs = new XmlSerializer(typeof (AssetBase));
return (AssetBase)xs.Deserialize(s); return (AssetBase) xs.Deserialize(s);
} }
} }
catch (Exception e) catch (Exception e)
@ -76,12 +74,11 @@ namespace OpenSim.Framework.Communications.Cache
MainLog.Instance.Debug("ASSETCACHE", "Getting asset {0}", req.AssetID.ToString()); MainLog.Instance.Debug("ASSETCACHE", "Getting asset {0}", req.AssetID.ToString());
MainLog.Instance.Error("ASSETCACHE", e.StackTrace); MainLog.Instance.Error("ASSETCACHE", e.StackTrace);
} }
return null; return null;
} }
public override void UpdateAsset(AssetBase asset) public override void UpdateAsset(AssetBase asset)
{ {
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
@ -119,8 +116,6 @@ namespace OpenSim.Framework.Communications.Cache
throw new Exception("The method or operation is not implemented."); throw new Exception("The method or operation is not implemented.");
} }
#endregion #endregion
} }
} }

View File

@ -65,7 +65,7 @@ namespace OpenSim.Framework.Communications.Cache
InventoryFolderImpl subFold = new InventoryFolderImpl(); InventoryFolderImpl subFold = new InventoryFolderImpl();
subFold.name = folderName; subFold.name = folderName;
subFold.folderID = folderID; subFold.folderID = folderID;
subFold.type = (short)type; subFold.type = (short) type;
subFold.parentID = this.folderID; subFold.parentID = this.folderID;
subFold.agentID = agentID; subFold.agentID = agentID;
SubFolders.Add(subFold.folderID, subFold); SubFolders.Add(subFold.folderID, subFold);
@ -153,4 +153,4 @@ namespace OpenSim.Framework.Communications.Cache
return folderList; return folderList;
} }
} }
} }

View File

@ -49,8 +49,8 @@ namespace OpenSim.Framework.Communications.Cache
folderID = new LLUUID("00000112-000f-0000-0000-000100bba000"); folderID = new LLUUID("00000112-000f-0000-0000-000100bba000");
name = "OpenSim Library"; name = "OpenSim Library";
parentID = LLUUID.Zero; parentID = LLUUID.Zero;
type = (short)-1; type = (short) -1;
version = (ushort)1; version = (ushort) 1;
InventoryFolderImpl folderInfo = new InventoryFolderImpl(); InventoryFolderImpl folderInfo = new InventoryFolderImpl();
folderInfo.agentID = libOwner; folderInfo.agentID = libOwner;
@ -81,28 +81,41 @@ namespace OpenSim.Framework.Communications.Cache
private void CreateLibraryItems() private void CreateLibraryItems()
{ {
InventoryItemBase item = CreateItem(new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9"), new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"), "Default Shape", "Default Shape", (int)AssetType.Bodypart, (int)InventoryType.Wearable, folderID); InventoryItemBase item =
CreateItem(new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9"),
new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"), "Default Shape", "Default Shape",
(int) AssetType.Bodypart, (int) InventoryType.Wearable, folderID);
item.inventoryCurrentPermissions = 0; item.inventoryCurrentPermissions = 0;
item.inventoryNextPermissions = 0; item.inventoryNextPermissions = 0;
Items.Add(item.inventoryID, item); Items.Add(item.inventoryID, item);
item = CreateItem(new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9"), new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb"), "Default Skin", "Default Skin", (int)AssetType.Bodypart, (int)InventoryType.Wearable, folderID); item =
CreateItem(new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9"),
new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb"), "Default Skin", "Default Skin",
(int) AssetType.Bodypart, (int) InventoryType.Wearable, folderID);
item.inventoryCurrentPermissions = 0; item.inventoryCurrentPermissions = 0;
item.inventoryNextPermissions = 0; item.inventoryNextPermissions = 0;
Items.Add(item.inventoryID, item); Items.Add(item.inventoryID, item);
item = CreateItem(new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000"), new LLUUID("00000000-38f9-1111-024e-222222111110"), "Default Shirt", "Default Shirt", (int)AssetType.Clothing, (int)InventoryType.Wearable, folderID); item =
CreateItem(new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000"),
new LLUUID("00000000-38f9-1111-024e-222222111110"), "Default Shirt", "Default Shirt",
(int) AssetType.Clothing, (int) InventoryType.Wearable, folderID);
item.inventoryCurrentPermissions = 0; item.inventoryCurrentPermissions = 0;
item.inventoryNextPermissions = 0; item.inventoryNextPermissions = 0;
Items.Add(item.inventoryID, item); Items.Add(item.inventoryID, item);
item = CreateItem(new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111"), new LLUUID("00000000-38f9-1111-024e-222222111120"), "Default Pants", "Default Pants", (int)AssetType.Clothing, (int)InventoryType.Wearable, folderID); item =
CreateItem(new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111"),
new LLUUID("00000000-38f9-1111-024e-222222111120"), "Default Pants", "Default Pants",
(int) AssetType.Clothing, (int) InventoryType.Wearable, folderID);
item.inventoryCurrentPermissions = 0; item.inventoryCurrentPermissions = 0;
item.inventoryNextPermissions = 0; item.inventoryNextPermissions = 0;
Items.Add(item.inventoryID, item); Items.Add(item.inventoryID, item);
} }
public InventoryItemBase CreateItem(LLUUID inventoryID, LLUUID assetID, string name, string description, int assetType, int invType, LLUUID parentFolderID) public InventoryItemBase CreateItem(LLUUID inventoryID, LLUUID assetID, string name, string description,
int assetType, int invType, LLUUID parentFolderID)
{ {
InventoryItemBase item = new InventoryItemBase(); InventoryItemBase item = new InventoryItemBase();
item.avatarID = libOwner; item.avatarID = libOwner;
@ -135,10 +148,10 @@ namespace OpenSim.Framework.Communications.Cache
item.inventoryName = source.Configs[i].GetString("name", ""); item.inventoryName = source.Configs[i].GetString("name", "");
item.assetType = source.Configs[i].GetInt("assetType", 0); item.assetType = source.Configs[i].GetInt("assetType", 0);
item.invType = source.Configs[i].GetInt("inventoryType", 0); item.invType = source.Configs[i].GetInt("inventoryType", 0);
item.inventoryCurrentPermissions = (uint)source.Configs[i].GetLong("currentPermissions", 0x7FFFFFFF); item.inventoryCurrentPermissions = (uint) source.Configs[i].GetLong("currentPermissions", 0x7FFFFFFF);
item.inventoryNextPermissions = (uint)source.Configs[i].GetLong("nextPermissions", 0x7FFFFFFF); item.inventoryNextPermissions = (uint) source.Configs[i].GetLong("nextPermissions", 0x7FFFFFFF);
item.inventoryEveryOnePermissions = (uint)source.Configs[i].GetLong("everyonePermissions", 0x7FFFFFFF); item.inventoryEveryOnePermissions = (uint) source.Configs[i].GetLong("everyonePermissions", 0x7FFFFFFF);
item.inventoryBasePermissions = (uint)source.Configs[i].GetLong("basePermissions", 0x7FFFFFFF); item.inventoryBasePermissions = (uint) source.Configs[i].GetLong("basePermissions", 0x7FFFFFFF);
if (item.assetType == 0) if (item.assetType == 0)
{ {
item.parentFolderID = m_textureFolder.folderID; item.parentFolderID = m_textureFolder.folderID;
@ -152,4 +165,4 @@ namespace OpenSim.Framework.Communications.Cache
} }
} }
} }
} }

View File

@ -57,7 +57,7 @@ namespace OpenSim.Framework.Communications.Cache
if (typeInterface != null) if (typeInterface != null)
{ {
IAssetProvider plug = IAssetProvider plug =
(IAssetProvider)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); (IAssetProvider) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
m_assetProviderPlugin = plug; m_assetProviderPlugin = plug;
m_assetProviderPlugin.Initialise(); m_assetProviderPlugin.Initialise();
@ -84,8 +84,8 @@ namespace OpenSim.Framework.Communications.Cache
{ {
asset = m_assetProviderPlugin.FetchAsset(req.AssetID); asset = m_assetProviderPlugin.FetchAsset(req.AssetID);
} }
return asset; return asset;
} }
protected override void StoreAsset(AssetBase asset) protected override void StoreAsset(AssetBase asset)
@ -98,4 +98,4 @@ namespace OpenSim.Framework.Communications.Cache
m_assetProviderPlugin.CommitAssets(); m_assetProviderPlugin.CommitAssets();
} }
} }
} }

View File

@ -130,7 +130,8 @@ namespace OpenSim.Framework.Communications.Cache
} }
} }
public void HandleUpdateInventoryFolder(IClientAPI remoteClient, LLUUID folderID, ushort type, string name, LLUUID parentID) public void HandleUpdateInventoryFolder(IClientAPI remoteClient, LLUUID folderID, ushort type, string name,
LLUUID parentID)
{ {
CachedUserInfo userProfile; CachedUserInfo userProfile;
@ -143,7 +144,7 @@ namespace OpenSim.Framework.Communications.Cache
baseFolder.folderID = folderID; baseFolder.folderID = folderID;
baseFolder.name = name; baseFolder.name = name;
baseFolder.parentID = parentID; baseFolder.parentID = parentID;
baseFolder.type = (short)type; baseFolder.type = (short) type;
baseFolder.version = userProfile.RootFolder.version; baseFolder.version = userProfile.RootFolder.version;
m_parent.InventoryService.AddNewInventoryFolder(remoteClient.AgentId, baseFolder); m_parent.InventoryService.AddNewInventoryFolder(remoteClient.AgentId, baseFolder);
} }
@ -180,12 +181,12 @@ namespace OpenSim.Framework.Communications.Cache
bool fetchFolders, bool fetchItems, int sortOrder) bool fetchFolders, bool fetchItems, int sortOrder)
{ {
// XXX We're not handling sortOrder yet! // XXX We're not handling sortOrder yet!
InventoryFolderImpl fold = null; InventoryFolderImpl fold = null;
if (folderID == libraryRoot.folderID) if (folderID == libraryRoot.folderID)
{ {
remoteClient.SendInventoryFolderDetails( remoteClient.SendInventoryFolderDetails(
libraryRoot.agentID, libraryRoot.folderID, libraryRoot.RequestListOfItems(), libraryRoot.agentID, libraryRoot.folderID, libraryRoot.RequestListOfItems(),
libraryRoot.RequestListOfFolders(), fetchFolders, fetchItems); libraryRoot.RequestListOfFolders(), fetchFolders, fetchItems);
return; return;
@ -194,7 +195,7 @@ namespace OpenSim.Framework.Communications.Cache
if ((fold = libraryRoot.HasSubFolder(folderID)) != null) if ((fold = libraryRoot.HasSubFolder(folderID)) != null)
{ {
remoteClient.SendInventoryFolderDetails( remoteClient.SendInventoryFolderDetails(
libraryRoot.agentID, folderID, fold.RequestListOfItems(), libraryRoot.agentID, folderID, fold.RequestListOfItems(),
fold.RequestListOfFolders(), fetchFolders, fetchItems); fold.RequestListOfFolders(), fetchFolders, fetchItems);
return; return;
@ -209,9 +210,9 @@ namespace OpenSim.Framework.Communications.Cache
{ {
remoteClient.SendInventoryFolderDetails( remoteClient.SendInventoryFolderDetails(
remoteClient.AgentId, folderID, userProfile.RootFolder.RequestListOfItems(), remoteClient.AgentId, folderID, userProfile.RootFolder.RequestListOfItems(),
userProfile.RootFolder.RequestListOfFolders(), userProfile.RootFolder.RequestListOfFolders(),
fetchFolders, fetchItems); fetchFolders, fetchItems);
return; return;
} }
else else
@ -219,9 +220,9 @@ namespace OpenSim.Framework.Communications.Cache
if ((fold = userProfile.RootFolder.HasSubFolder(folderID)) != null) if ((fold = userProfile.RootFolder.HasSubFolder(folderID)) != null)
{ {
remoteClient.SendInventoryFolderDetails( remoteClient.SendInventoryFolderDetails(
remoteClient.AgentId, folderID, fold.RequestListOfItems(), remoteClient.AgentId, folderID, fold.RequestListOfItems(),
fold.RequestListOfFolders(), fetchFolders, fetchItems); fold.RequestListOfFolders(), fetchFolders, fetchItems);
return; return;
} }
} }
@ -230,20 +231,20 @@ namespace OpenSim.Framework.Communications.Cache
{ {
MainLog.Instance.Error( MainLog.Instance.Error(
"INVENTORYCACHE", "Could not find root folder for user {0}", remoteClient.Name); "INVENTORYCACHE", "Could not find root folder for user {0}", remoteClient.Name);
return; return;
} }
} }
else else
{ {
MainLog.Instance.Error( MainLog.Instance.Error(
"INVENTORYCACHE", "INVENTORYCACHE",
"Could not find user profile for {0} for folder {1}", "Could not find user profile for {0} for folder {1}",
remoteClient.Name, folderID); remoteClient.Name, folderID);
return; return;
} }
// If we've reached this point then we couldn't find the folder, even though the client thinks // If we've reached this point then we couldn't find the folder, even though the client thinks
// it exists // it exists
MainLog.Instance.Error( MainLog.Instance.Error(
@ -262,8 +263,8 @@ namespace OpenSim.Framework.Communications.Cache
InventoryFolderImpl subFolder = userProfile.RootFolder.HasSubFolder(folderID); InventoryFolderImpl subFolder = userProfile.RootFolder.HasSubFolder(folderID);
if (subFolder != null) if (subFolder != null)
{ {
List<InventoryItemBase> items=subFolder.RequestListOfItems(); List<InventoryItemBase> items = subFolder.RequestListOfItems();
foreach(InventoryItemBase item in items) foreach (InventoryItemBase item in items)
{ {
userProfile.DeleteItem(remoteClient.AgentId, item); userProfile.DeleteItem(remoteClient.AgentId, item);
} }
@ -300,4 +301,4 @@ namespace OpenSim.Framework.Communications.Cache
m_parent.InventoryService.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive); m_parent.InventoryService.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive);
} }
} }
} }

View File

@ -38,33 +38,33 @@ using OpenSim.Framework.Servers;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
public delegate void UpLoadedAsset( public delegate void UpLoadedAsset(
string assetName, string description, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder, string assetName, string description, LLUUID assetID, LLUUID inventoryItem, LLUUID parentFolder,
byte[] data, string inventoryType, string assetType); byte[] data, string inventoryType, string assetType);
public delegate LLUUID UpdateItem(LLUUID itemID, byte[] data); public delegate LLUUID UpdateItem(LLUUID itemID, byte[] data);
public delegate void UpdateTaskScript(LLUUID itemID, LLUUID primID, bool isScriptRunning, byte[] data); public delegate void UpdateTaskScript(LLUUID itemID, LLUUID primID, bool isScriptRunning, byte[] data);
public delegate void NewInventoryItem(LLUUID userID, InventoryItemBase item); public delegate void NewInventoryItem(LLUUID userID, InventoryItemBase item);
public delegate LLUUID ItemUpdatedCallback(LLUUID userID, LLUUID itemID, byte[] data); public delegate LLUUID ItemUpdatedCallback(LLUUID userID, LLUUID itemID, byte[] data);
public delegate void TaskScriptUpdatedCallback(LLUUID userID, LLUUID itemID, LLUUID primID, public delegate void TaskScriptUpdatedCallback(LLUUID userID, LLUUID itemID, LLUUID primID,
bool isScriptRunning, byte[] data); bool isScriptRunning, byte[] data);
public class Caps public class Caps
{ {
private string m_httpListenerHostName; private string m_httpListenerHostName;
private uint m_httpListenPort; private uint m_httpListenPort;
private string m_capsObjectPath = "00001-"; private string m_capsObjectPath = "00001-";
private string m_requestPath = "0000/"; private string m_requestPath = "0000/";
private string m_mapLayerPath = "0001/"; private string m_mapLayerPath = "0001/";
private string m_newInventory = "0002/"; private string m_newInventory = "0002/";
//private string m_requestTexture = "0003/"; //private string m_requestTexture = "0003/";
private string m_notecardUpdatePath = "0004/"; private string m_notecardUpdatePath = "0004/";
private string m_notecardTaskUpdatePath = "0005/"; private string m_notecardTaskUpdatePath = "0005/";
//private string eventQueue = "0100/"; //private string eventQueue = "0100/";
private BaseHttpServer m_httpListener; private BaseHttpServer m_httpListener;
private LLUUID m_agentID; private LLUUID m_agentID;
@ -78,7 +78,7 @@ namespace OpenSim.Region.Capabilities
public NewInventoryItem AddNewInventoryItem = null; public NewInventoryItem AddNewInventoryItem = null;
public ItemUpdatedCallback ItemUpdatedCall = null; public ItemUpdatedCallback ItemUpdatedCall = null;
public TaskScriptUpdatedCallback TaskScriptUpdatedCall = null; public TaskScriptUpdatedCallback TaskScriptUpdatedCall = null;
public Caps(AssetCache assetCache, BaseHttpServer httpServer, string httpListen, uint httpPort, string capsPath, public Caps(AssetCache assetCache, BaseHttpServer httpServer, string httpListen, uint httpPort, string capsPath,
LLUUID agent, bool dumpAssetsToFile) LLUUID agent, bool dumpAssetsToFile)
{ {
@ -138,7 +138,7 @@ namespace OpenSim.Region.Capabilities
/// <returns></returns> /// <returns></returns>
public string CapsRequest(string request, string path, string param) public string CapsRequest(string request, string path, string param)
{ {
//Console.WriteLine("caps request " + request); //Console.WriteLine("caps request " + request);
string result = LLSDHelpers.SerialiseLLSDReply(GetCapabilities()); string result = LLSDHelpers.SerialiseLLSDReply(GetCapabilities());
return result; return result;
} }
@ -153,7 +153,7 @@ namespace OpenSim.Region.Capabilities
string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" + string capsBaseUrl = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + "/CAPS/" +
m_capsObjectPath; m_capsObjectPath;
caps.MapLayer = capsBaseUrl + m_mapLayerPath; caps.MapLayer = capsBaseUrl + m_mapLayerPath;
// caps.RequestTextureDownload = capsBaseUrl + m_requestTexture; // caps.RequestTextureDownload = capsBaseUrl + m_requestTexture;
caps.NewFileAgentInventory = capsBaseUrl + m_newInventory; caps.NewFileAgentInventory = capsBaseUrl + m_newInventory;
caps.UpdateNotecardAgentInventory = capsBaseUrl + m_notecardUpdatePath; caps.UpdateNotecardAgentInventory = capsBaseUrl + m_notecardUpdatePath;
caps.UpdateScriptAgentInventory = capsBaseUrl + m_notecardUpdatePath; caps.UpdateScriptAgentInventory = capsBaseUrl + m_notecardUpdatePath;
@ -262,7 +262,7 @@ namespace OpenSim.Region.Capabilities
} }
#endregion #endregion
/// <summary> /// <summary>
/// Callback for a client request for an upload url for a script task /// Callback for a client request for an upload url for a script task
/// inventory update /// inventory update
@ -272,28 +272,28 @@ namespace OpenSim.Region.Capabilities
/// <param name="param"></param> /// <param name="param"></param>
/// <returns></returns> /// <returns></returns>
public string ScriptTaskInventory(string request, string path, string param) public string ScriptTaskInventory(string request, string path, string param)
{ {
try try
{ {
// MainLog.Instance.Debug("CAPS", "request: {0}, path: {1}, param: {2}", request, path, param); // MainLog.Instance.Debug("CAPS", "request: {0}, path: {1}, param: {2}", request, path, param);
Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(Helpers.StringToField(request)); Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request));
LLSDTaskScriptUpdate llsdUpdateRequest = new LLSDTaskScriptUpdate(); LLSDTaskScriptUpdate llsdUpdateRequest = new LLSDTaskScriptUpdate();
LLSDHelpers.DeserialiseLLSDMap(hash, llsdUpdateRequest); LLSDHelpers.DeserialiseLLSDMap(hash, llsdUpdateRequest);
string capsBase = "/CAPS/" + m_capsObjectPath; string capsBase = "/CAPS/" + m_capsObjectPath;
string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000"); string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000");
TaskInventoryScriptUpdater uploader = TaskInventoryScriptUpdater uploader =
new TaskInventoryScriptUpdater( new TaskInventoryScriptUpdater(
llsdUpdateRequest.item_id, llsdUpdateRequest.item_id,
llsdUpdateRequest.task_id, llsdUpdateRequest.task_id,
llsdUpdateRequest.is_script_running, llsdUpdateRequest.is_script_running,
capsBase + uploaderPath, capsBase + uploaderPath,
m_httpListener, m_httpListener,
m_dumpAssetsToFile); m_dumpAssetsToFile);
uploader.OnUpLoad += TaskScriptUpdated; uploader.OnUpLoad += TaskScriptUpdated;
m_httpListener.AddStreamHandler( m_httpListener.AddStreamHandler(
new BinaryStreamHandler("POST", capsBase + uploaderPath, uploader.uploaderCaps)); new BinaryStreamHandler("POST", capsBase + uploaderPath, uploader.uploaderCaps));
string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + capsBase + string uploaderURL = "http://" + m_httpListenerHostName + ":" + m_httpListenPort.ToString() + capsBase +
@ -302,13 +302,13 @@ namespace OpenSim.Region.Capabilities
LLSDAssetUploadResponse uploadResponse = new LLSDAssetUploadResponse(); LLSDAssetUploadResponse uploadResponse = new LLSDAssetUploadResponse();
uploadResponse.uploader = uploaderURL; uploadResponse.uploader = uploaderURL;
uploadResponse.state = "upload"; uploadResponse.state = "upload";
// MainLog.Instance.Verbose( // MainLog.Instance.Verbose(
// "CAPS", // "CAPS",
// "ScriptTaskInventory response: {0}", // "ScriptTaskInventory response: {0}",
// LLSDHelpers.SerialiseLLSDReply(uploadResponse)); // LLSDHelpers.SerialiseLLSDReply(uploadResponse));
return LLSDHelpers.SerialiseLLSDReply(uploadResponse); return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
} }
catch (Exception e) catch (Exception e)
{ {
@ -329,7 +329,7 @@ namespace OpenSim.Region.Capabilities
public string NoteCardAgentInventory(string request, string path, string param) public string NoteCardAgentInventory(string request, string path, string param)
{ {
//libsecondlife.StructuredData.LLSDMap hash = (libsecondlife.StructuredData.LLSDMap)libsecondlife.StructuredData.LLSDParser.DeserializeBinary(Helpers.StringToField(request)); //libsecondlife.StructuredData.LLSDMap hash = (libsecondlife.StructuredData.LLSDMap)libsecondlife.StructuredData.LLSDParser.DeserializeBinary(Helpers.StringToField(request));
Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(Helpers.StringToField(request)); Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request));
LLSDItemUpdate llsdRequest = new LLSDItemUpdate(); LLSDItemUpdate llsdRequest = new LLSDItemUpdate();
LLSDHelpers.DeserialiseLLSDMap(hash, llsdRequest); LLSDHelpers.DeserialiseLLSDMap(hash, llsdRequest);
@ -353,7 +353,7 @@ namespace OpenSim.Region.Capabilities
// "CAPS", // "CAPS",
// "NoteCardAgentInventory response: {0}", // "NoteCardAgentInventory response: {0}",
// LLSDHelpers.SerialiseLLSDReply(uploadResponse)); // LLSDHelpers.SerialiseLLSDReply(uploadResponse));
return LLSDHelpers.SerialiseLLSDReply(uploadResponse); return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
} }
@ -453,7 +453,7 @@ namespace OpenSim.Region.Capabilities
{ {
return ItemUpdatedCall(m_agentID, itemID, data); return ItemUpdatedCall(m_agentID, itemID, data);
} }
return LLUUID.Zero; return LLUUID.Zero;
} }
@ -613,7 +613,7 @@ namespace OpenSim.Region.Capabilities
fs.Close(); fs.Close();
} }
} }
/// <summary> /// <summary>
/// This class is a callback invoked when a client sends asset data to /// This class is a callback invoked when a client sends asset data to
/// a task inventory script update url /// a task inventory script update url
@ -629,17 +629,17 @@ namespace OpenSim.Region.Capabilities
private BaseHttpServer httpListener; private BaseHttpServer httpListener;
private bool m_dumpAssetToFile; private bool m_dumpAssetToFile;
public TaskInventoryScriptUpdater(LLUUID inventoryItemID, LLUUID primID, int isScriptRunning, public TaskInventoryScriptUpdater(LLUUID inventoryItemID, LLUUID primID, int isScriptRunning,
string path, BaseHttpServer httpServer, bool dumpAssetToFile) string path, BaseHttpServer httpServer, bool dumpAssetToFile)
{ {
m_dumpAssetToFile = dumpAssetToFile; m_dumpAssetToFile = dumpAssetToFile;
this.inventoryItemID = inventoryItemID; this.inventoryItemID = inventoryItemID;
this.primID = primID; this.primID = primID;
// This comes in over the packet as an integer, but actually appears to be treated as a bool // This comes in over the packet as an integer, but actually appears to be treated as a bool
this.isScriptRunning = (0 == isScriptRunning ? false : true); this.isScriptRunning = (0 == isScriptRunning ? false : true);
uploaderPath = path; uploaderPath = path;
httpListener = httpServer; httpListener = httpServer;
} }
@ -659,7 +659,7 @@ namespace OpenSim.Region.Capabilities
// "CAPS", // "CAPS",
// "TaskInventoryScriptUpdater received data: {0}, path: {1}, param: {2}", // "TaskInventoryScriptUpdater received data: {0}, path: {1}, param: {2}",
// data, path, param); // data, path, param);
string res = ""; string res = "";
LLSDTaskInventoryUploadComplete uploadComplete = new LLSDTaskInventoryUploadComplete(); LLSDTaskInventoryUploadComplete uploadComplete = new LLSDTaskInventoryUploadComplete();
@ -668,7 +668,7 @@ namespace OpenSim.Region.Capabilities
OnUpLoad(inventoryItemID, primID, isScriptRunning, data); OnUpLoad(inventoryItemID, primID, isScriptRunning, data);
} }
uploadComplete.item_id = inventoryItemID; uploadComplete.item_id = inventoryItemID;
uploadComplete.task_id = primID; uploadComplete.task_id = primID;
uploadComplete.state = "complete"; uploadComplete.state = "complete";
@ -680,7 +680,7 @@ namespace OpenSim.Region.Capabilities
{ {
SaveAssetToFile("updatedtaskscript" + Util.RandomClass.Next(1, 1000) + ".dat", data); SaveAssetToFile("updatedtaskscript" + Util.RandomClass.Next(1, 1000) + ".dat", data);
} }
// MainLog.Instance.Verbose("CAPS", "TaskInventoryScriptUpdater.uploaderCaps res: {0}", res); // MainLog.Instance.Verbose("CAPS", "TaskInventoryScriptUpdater.uploaderCaps res: {0}", res);
return res; return res;
@ -689,9 +689,9 @@ namespace OpenSim.Region.Capabilities
{ {
MainLog.Instance.Error("CAPS", e.ToString()); MainLog.Instance.Error("CAPS", e.ToString());
} }
// XXX Maybe this should be some meaningful error packet // XXX Maybe this should be some meaningful error packet
return null; return null;
} }
private void SaveAssetToFile(string filename, byte[] data) private void SaveAssetToFile(string filename, byte[] data)
@ -702,6 +702,6 @@ namespace OpenSim.Region.Capabilities
bw.Close(); bw.Close();
fs.Close(); fs.Close();
} }
} }
} }
} }

View File

@ -1,4 +1,4 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
@ -28,12 +28,12 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Globalization;
using System.Xml;
using System.IO; using System.IO;
using libsecondlife;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Xml;
using libsecondlife;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
@ -47,7 +47,9 @@ namespace OpenSim.Region.Capabilities
/// </summary> /// </summary>
public class LLSDParseException : Exception public class LLSDParseException : Exception
{ {
public LLSDParseException(string message) : base(message) { } public LLSDParseException(string message) : base(message)
{
}
} }
/// <summary> /// <summary>
@ -55,7 +57,9 @@ namespace OpenSim.Region.Capabilities
/// </summary> /// </summary>
public class LLSDSerializeException : Exception public class LLSDSerializeException : Exception
{ {
public LLSDSerializeException(string message) : base(message) { } public LLSDSerializeException(string message) : base(message)
{
}
} }
/// <summary> /// <summary>
@ -129,7 +133,7 @@ namespace OpenSim.Region.Capabilities
if (obj is string) if (obj is string)
{ {
writer.WriteStartElement(String.Empty, "string", String.Empty); writer.WriteStartElement(String.Empty, "string", String.Empty);
writer.WriteString((string)obj); writer.WriteString((string) obj);
writer.WriteEndElement(); writer.WriteEndElement();
} }
else if (obj is int) else if (obj is int)
@ -146,7 +150,7 @@ namespace OpenSim.Region.Capabilities
} }
else if (obj is bool) else if (obj is bool)
{ {
bool b = (bool)obj; bool b = (bool) obj;
writer.WriteStartElement(String.Empty, "boolean", String.Empty); writer.WriteStartElement(String.Empty, "boolean", String.Empty);
writer.WriteString(b ? "1" : "0"); writer.WriteString(b ? "1" : "0");
writer.WriteEndElement(); writer.WriteEndElement();
@ -157,7 +161,7 @@ namespace OpenSim.Region.Capabilities
} }
else if (obj is LLUUID) else if (obj is LLUUID)
{ {
LLUUID u = (LLUUID)obj; LLUUID u = (LLUUID) obj;
writer.WriteStartElement(String.Empty, "uuid", String.Empty); writer.WriteStartElement(String.Empty, "uuid", String.Empty);
writer.WriteString(u.ToString()); writer.WriteString(u.ToString());
writer.WriteEndElement(); writer.WriteEndElement();
@ -463,7 +467,7 @@ namespace OpenSim.Region.Capabilities
} }
else if (obj is string) else if (obj is string)
{ {
return GetSpaces(indent) + "- string \"" + (string)obj + "\"\n"; return GetSpaces(indent) + "- string \"" + (string) obj + "\"\n";
} }
else if (obj is int) else if (obj is int)
{ {
@ -475,13 +479,13 @@ namespace OpenSim.Region.Capabilities
} }
else if (obj is LLUUID) else if (obj is LLUUID)
{ {
return GetSpaces(indent) + "- uuid " + ((LLUUID)obj).ToString() + Environment.NewLine; return GetSpaces(indent) + "- uuid " + ((LLUUID) obj).ToString() + Environment.NewLine;
} }
else if (obj is Hashtable) else if (obj is Hashtable)
{ {
StringBuilder ret = new StringBuilder(); StringBuilder ret = new StringBuilder();
ret.Append(GetSpaces(indent) + "- map" + Environment.NewLine); ret.Append(GetSpaces(indent) + "- map" + Environment.NewLine);
Hashtable map = (Hashtable)obj; Hashtable map = (Hashtable) obj;
foreach (string key in map.Keys) foreach (string key in map.Keys)
{ {
@ -495,7 +499,7 @@ namespace OpenSim.Region.Capabilities
{ {
StringBuilder ret = new StringBuilder(); StringBuilder ret = new StringBuilder();
ret.Append(GetSpaces(indent) + "- array\n"); ret.Append(GetSpaces(indent) + "- array\n");
ArrayList list = (ArrayList)obj; ArrayList list = (ArrayList) obj;
foreach (object item in list) foreach (object item in list)
{ {
@ -506,8 +510,8 @@ namespace OpenSim.Region.Capabilities
} }
else if (obj is byte[]) else if (obj is byte[])
{ {
return GetSpaces(indent) + "- binary\n" + Helpers.FieldToHexString((byte[])obj, GetSpaces(indent)) + return GetSpaces(indent) + "- binary\n" + Helpers.FieldToHexString((byte[]) obj, GetSpaces(indent)) +
Environment.NewLine; Environment.NewLine;
} }
else else
{ {
@ -557,8 +561,8 @@ namespace OpenSim.Region.Capabilities
double value; double value;
endPos = FindEnd(llsd, 1); endPos = FindEnd(llsd, 1);
if (Double.TryParse(llsd.Substring(1, endPos - 1), System.Globalization.NumberStyles.Float, if (Double.TryParse(llsd.Substring(1, endPos - 1), NumberStyles.Float,
Helpers.EnUsCulture.NumberFormat, out value)) Helpers.EnUsCulture.NumberFormat, out value))
return value; return value;
else else
throw new LLSDParseException("Failed to parse double value type"); throw new LLSDParseException("Failed to parse double value type");
@ -652,7 +656,7 @@ namespace OpenSim.Region.Capabilities
private static int FindEnd(string llsd, int start) private static int FindEnd(string llsd, int start)
{ {
int end = llsd.IndexOfAny(new char[] { ',', ']', '}' }); int end = llsd.IndexOfAny(new char[] {',', ']', '}'});
if (end == -1) end = llsd.Length - 1; if (end == -1) end = llsd.Length - 1;
return end; return end;
} }
@ -673,4 +677,4 @@ namespace OpenSim.Region.Capabilities
} }
} }
} }
} }

View File

@ -38,4 +38,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -41,4 +41,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -37,4 +37,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -34,7 +34,7 @@ namespace OpenSim.Region.Capabilities
public string MapLayer = ""; public string MapLayer = "";
public string NewFileAgentInventory = ""; public string NewFileAgentInventory = "";
//public string EventQueueGet = ""; //public string EventQueueGet = "";
// public string RequestTextureDownload = ""; // public string RequestTextureDownload = "";
// public string ChatSessionRequest = ""; // public string ChatSessionRequest = "";
public string UpdateNotecardAgentInventory = ""; public string UpdateNotecardAgentInventory = "";
public string UpdateScriptAgentInventory = ""; public string UpdateScriptAgentInventory = "";

View File

@ -34,4 +34,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -30,7 +30,6 @@ using System.Collections;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using System.Xml; using System.Xml;
using libsecondlife;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
@ -77,7 +76,7 @@ namespace OpenSim.Region.Capabilities
writer.WriteString(fields[i].Name); writer.WriteString(fields[i].Name);
writer.WriteEndElement(); writer.WriteEndElement();
LLSD.LLSDWriteOne(writer, fieldValue); LLSD.LLSDWriteOne(writer, fieldValue);
// libsecondlife.StructuredData.LLSDParser.SerializeXmlElement( // libsecondlife.StructuredData.LLSDParser.SerializeXmlElement(
// writer, libsecondlife.StructuredData.LLSD.FromObject(fieldValue)); // writer, libsecondlife.StructuredData.LLSD.FromObject(fieldValue));
} }
} }
@ -102,8 +101,8 @@ namespace OpenSim.Region.Capabilities
else else
{ {
LLSD.LLSDWriteOne(writer, obj); LLSD.LLSDWriteOne(writer, obj);
//libsecondlife.StructuredData.LLSDParser.SerializeXmlElement( //libsecondlife.StructuredData.LLSDParser.SerializeXmlElement(
// writer, libsecondlife.StructuredData.LLSD.FromObject(obj)); // writer, libsecondlife.StructuredData.LLSD.FromObject(obj));
} }
} }
@ -122,12 +121,12 @@ namespace OpenSim.Region.Capabilities
FieldInfo field = myType.GetField((string) enumerator.Key); FieldInfo field = myType.GetField((string) enumerator.Key);
if (field != null) if (field != null)
{ {
// if (enumerator.Value is libsecondlife.StructuredData.LLSDMap) // if (enumerator.Value is libsecondlife.StructuredData.LLSDMap)
if (enumerator.Value is Hashtable) if (enumerator.Value is Hashtable)
{ {
object fieldValue = field.GetValue(obj); object fieldValue = field.GetValue(obj);
DeserialiseLLSDMap((Hashtable)enumerator.Value, fieldValue); DeserialiseLLSDMap((Hashtable) enumerator.Value, fieldValue);
// DeserialiseLLSDMap((libsecondlife.StructuredData.LLSDMap) enumerator.Value, fieldValue); // DeserialiseLLSDMap((libsecondlife.StructuredData.LLSDMap) enumerator.Value, fieldValue);
} }
else if (enumerator.Value is ArrayList) else if (enumerator.Value is ArrayList)
{ {
@ -149,4 +148,4 @@ namespace OpenSim.Region.Capabilities
return obj; return obj;
} }
} }
} }

View File

@ -42,4 +42,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -37,4 +37,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -29,9 +29,7 @@
using System.Collections; using System.Collections;
using System.IO; using System.IO;
using System.Text; using System.Text;
using libsecondlife;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
using System.Xml;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
@ -54,10 +52,10 @@ namespace OpenSim.Region.Capabilities
//string requestBody = streamReader.ReadToEnd(); //string requestBody = streamReader.ReadToEnd();
//streamReader.Close(); //streamReader.Close();
// libsecondlife.StructuredData.LLSDMap hash = (libsecondlife.StructuredData.LLSDMap) // libsecondlife.StructuredData.LLSDMap hash = (libsecondlife.StructuredData.LLSDMap)
// libsecondlife.StructuredData.LLSDParser.DeserializeXml(new XmlTextReader(request)); // libsecondlife.StructuredData.LLSDParser.DeserializeXml(new XmlTextReader(request));
Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(request); Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(request);
TRequest llsdRequest = new TRequest(); TRequest llsdRequest = new TRequest();
LLSDHelpers.DeserialiseLLSDMap(hash, llsdRequest); LLSDHelpers.DeserialiseLLSDMap(hash, llsdRequest);
@ -68,4 +66,4 @@ namespace OpenSim.Region.Capabilities
return encoding.GetBytes(LLSDHelpers.SerialiseLLSDReply(response)); return encoding.GetBytes(LLSDHelpers.SerialiseLLSDReply(response));
} }
} }
} }

View File

@ -25,10 +25,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife; using libsecondlife;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
[LLSDMap] [LLSDMap]
public class LLSDTaskInventoryUploadComplete public class LLSDTaskInventoryUploadComplete
{ {
@ -36,15 +36,15 @@ namespace OpenSim.Region.Capabilities
/// The task inventory item that was updated /// The task inventory item that was updated
/// </summary> /// </summary>
public LLUUID item_id; public LLUUID item_id;
/// <summary> /// <summary>
/// The task that was updated /// The task that was updated
/// </summary> /// </summary>
public LLUUID task_id; public LLUUID task_id;
/// <summary> /// <summary>
/// State of the upload. So far have only even seen this set to "complete" /// State of the upload. So far have only even seen this set to "complete"
/// </summary> /// </summary>
public string state; public string state;
} }
} }

View File

@ -26,10 +26,10 @@
* *
*/ */
using libsecondlife; using libsecondlife;
namespace OpenSim.Region.Capabilities namespace OpenSim.Region.Capabilities
{ {
[LLSDMap] [LLSDMap]
public class LLSDTaskScriptUpdate public class LLSDTaskScriptUpdate
{ {
@ -37,15 +37,15 @@ namespace OpenSim.Region.Capabilities
/// The item containing the script to update /// The item containing the script to update
/// </summary> /// </summary>
public LLUUID item_id; public LLUUID item_id;
/// <summary> /// <summary>
/// The task containing the script /// The task containing the script
/// </summary> /// </summary>
public LLUUID task_id; public LLUUID task_id;
/// <summary> /// <summary>
/// Signals whether the script is currently active /// Signals whether the script is currently active
/// </summary> /// </summary>
public int is_script_running; public int is_script_running;
} }
} }

View File

@ -37,4 +37,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -52,4 +52,4 @@ namespace OpenSim.Region.Capabilities
{ {
} }
} }
} }

View File

@ -26,9 +26,9 @@
* *
*/ */
using System; using System;
using System.Collections.Generic;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Communications.Cache; using OpenSim.Framework.Communications.Cache;
using System.Collections.Generic;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
@ -173,12 +173,13 @@ namespace OpenSim.Framework.Communications
} }
} }
} }
public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query) public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query)
{ {
List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query); List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query);
return pickerlist; return pickerlist;
} }
#endregion #endregion
} }
} }

View File

@ -25,7 +25,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
namespace OpenSim.Framework.Communications namespace OpenSim.Framework.Communications
@ -39,6 +38,5 @@ namespace OpenSim.Framework.Communications
RegionInfo RequestNeighbourInfo(ulong regionHandle); RegionInfo RequestNeighbourInfo(ulong regionHandle);
Dictionary<string, string> GetGridSettings(); Dictionary<string, string> GetGridSettings();
List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY); List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY);
} }
} }

View File

@ -31,8 +31,7 @@ namespace OpenSim.Framework.Communications
{ {
public interface IInterRegionCommunications public interface IInterRegionCommunications
{ {
string rdebugRegionName { get; set; }
string rdebugRegionName{ get; set; }
bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData); bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData); bool InformRegionOfPrimCrossing(ulong regionHandle, LLUUID primID, string objData);
bool RegionUp(SearializableRegionInfo region, ulong regionhandle); bool RegionUp(SearializableRegionInfo region, ulong regionhandle);
@ -45,6 +44,5 @@ namespace OpenSim.Framework.Communications
bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID); bool AcknowledgePrimCrossed(ulong regionHandle, LLUUID primID);
void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID); void TellRegionToCloseChildConnection(ulong regionHandle, LLUUID agentID);
} }
} }

View File

@ -52,4 +52,4 @@ namespace OpenSim.Framework.Communications
/// <returns></returns> /// <returns></returns>
List<InventoryFolderBase> RequestFirstLevelFolders(LLUUID userID); List<InventoryFolderBase> RequestFirstLevelFolders(LLUUID userID);
} }
} }

View File

@ -30,7 +30,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
namespace OpenSim.Framework.Communications namespace OpenSim.Framework.Communications
@ -65,7 +64,7 @@ namespace OpenSim.Framework.Communications
if (typeInterface != null) if (typeInterface != null)
{ {
IInventoryData plug = IInventoryData plug =
(IInventoryData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); (IInventoryData) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
plug.Initialise(); plug.Initialise();
m_plugins.Add(plug.getName(), plug); m_plugins.Add(plug.getName(), plug);
MainLog.Instance.Verbose("AGENTINVENTORY", "Added IInventoryData Interface"); MainLog.Instance.Verbose("AGENTINVENTORY", "Added IInventoryData Interface");
@ -370,4 +369,4 @@ namespace OpenSim.Framework.Communications
public abstract void AddNewInventoryItem(LLUUID userID, InventoryItemBase item); public abstract void AddNewInventoryItem(LLUUID userID, InventoryItemBase item);
public abstract void DeleteInventoryItem(LLUUID userID, InventoryItemBase item); public abstract void DeleteInventoryItem(LLUUID userID, InventoryItemBase item);
} }
} }

View File

@ -525,9 +525,9 @@ namespace OpenSim.Framework.UserManagement
set { welcomeMessage = value; } set { welcomeMessage = value; }
} }
public BuddyList BuddList public BuddyList BuddList
{ {
get{return m_buddyList;} get { return m_buddyList; }
set { m_buddyList = value; } set { m_buddyList = value; }
} }
@ -591,4 +591,4 @@ namespace OpenSim.Framework.UserManagement
} }
} }
} }
} }

View File

@ -64,7 +64,7 @@ namespace OpenSim.Framework.UserManagement
//CFK: CustomizeResponse contains sufficient strings to alleviate the need for this. //CFK: CustomizeResponse contains sufficient strings to alleviate the need for this.
//CKF: MainLog.Instance.Verbose("LOGIN", "Attempting login now..."); //CKF: MainLog.Instance.Verbose("LOGIN", "Attempting login now...");
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable) request.Params[0];
bool GoodXML = (requestData.Contains("first") && requestData.Contains("last") && bool GoodXML = (requestData.Contains("first") && requestData.Contains("last") &&
requestData.Contains("passwd")); requestData.Contains("passwd"));
@ -75,17 +75,17 @@ namespace OpenSim.Framework.UserManagement
if (GoodXML) if (GoodXML)
{ {
string firstname = (string)requestData["first"]; string firstname = (string) requestData["first"];
string lastname = (string)requestData["last"]; string lastname = (string) requestData["last"];
string passwd = (string)requestData["passwd"]; string passwd = (string) requestData["passwd"];
userProfile = GetTheUser(firstname, lastname); userProfile = GetTheUser(firstname, lastname);
if (userProfile == null) if (userProfile == null)
{ {
MainLog.Instance.Verbose( MainLog.Instance.Verbose(
"LOGIN", "LOGIN",
"Could not find a profile for " + firstname + " " + lastname); "Could not find a profile for " + firstname + " " + lastname);
return logResponse.CreateLoginFailedResponse(); return logResponse.CreateLoginFailedResponse();
} }
@ -103,15 +103,14 @@ namespace OpenSim.Framework.UserManagement
else else
{ {
// If we already have a session... // If we already have a session...
if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline) if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline)
{ {
userProfile.currentAgent = null; userProfile.currentAgent = null;
m_userManager.CommitAgent(ref userProfile); m_userManager.CommitAgent(ref userProfile);
// Reject the login // Reject the login
return logResponse.CreateAlreadyLoggedInResponse(); return logResponse.CreateAlreadyLoggedInResponse();
} }
// Otherwise... // Otherwise...
// Create a new agent session // Create a new agent session
@ -132,7 +131,7 @@ namespace OpenSim.Framework.UserManagement
userProfile.rootInventoryFolderID = inventData.RootFolderID; userProfile.rootInventoryFolderID = inventData.RootFolderID;
// Circuit Code // Circuit Code
uint circode = (uint)(Util.RandomClass.Next()); uint circode = (uint) (Util.RandomClass.Next());
logResponse.Lastname = userProfile.surname; logResponse.Lastname = userProfile.surname;
logResponse.Firstname = userProfile.username; logResponse.Firstname = userProfile.username;
@ -150,7 +149,7 @@ namespace OpenSim.Framework.UserManagement
logResponse.InventoryLibRoot = InventoryLibRoot; logResponse.InventoryLibRoot = InventoryLibRoot;
logResponse.InventoryLibraryOwner = GetLibraryOwner(); logResponse.InventoryLibraryOwner = GetLibraryOwner();
logResponse.CircuitCode = (Int32)circode; logResponse.CircuitCode = (Int32) circode;
//logResponse.RegionX = 0; //overwritten //logResponse.RegionX = 0; //overwritten
//logResponse.RegionY = 0; //overwritten //logResponse.RegionY = 0; //overwritten
logResponse.Home = "!!null temporary value {home}!!"; // Overwritten logResponse.Home = "!!null temporary value {home}!!"; // Overwritten
@ -277,7 +276,7 @@ namespace OpenSim.Framework.UserManagement
TempHash["type_default"] = -1; TempHash["type_default"] = -1;
TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba001"; TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba001";
temp.Add(TempHash); temp.Add(TempHash);
return temp; return temp;
} }
@ -328,4 +327,4 @@ namespace OpenSim.Framework.UserManagement
} }
} }
} }
} }

View File

@ -62,4 +62,4 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly : AssemblyVersion("1.0.0.0")] [assembly : AssemblyVersion("1.0.0.0")]
[assembly : AssemblyFileVersion("1.0.0.0")] [assembly : AssemblyFileVersion("1.0.0.0")]

View File

@ -238,7 +238,7 @@ namespace OpenSim.Framework.Communications
} }
} }
realuri = sb.ToString(); realuri = sb.ToString();
MainLog.Instance.Verbose("REST", "RestURL: {0}", realuri); MainLog.Instance.Verbose("REST", "RestURL: {0}", realuri);
return new Uri(sb.ToString()); return new Uri(sb.ToString());
} }
@ -365,7 +365,7 @@ namespace OpenSim.Framework.Communications
} }
public Stream Request(Stream src) public Stream Request(Stream src)
{ {
_request = (HttpWebRequest) WebRequest.Create(buildUri()); _request = (HttpWebRequest) WebRequest.Create(buildUri());
_request.KeepAlive = false; _request.KeepAlive = false;
_request.ContentType = "application/xml"; _request.ContentType = "application/xml";
@ -374,16 +374,16 @@ namespace OpenSim.Framework.Communications
_asyncException = null; _asyncException = null;
_request.ContentLength = src.Length; _request.ContentLength = src.Length;
MainLog.Instance.Verbose("REST", "Request Length {0}", _request.ContentLength); MainLog.Instance.Verbose("REST", "Request Length {0}", _request.ContentLength);
MainLog.Instance.Verbose("REST", "Sending Web Request {0}", buildUri()); MainLog.Instance.Verbose("REST", "Sending Web Request {0}", buildUri());
src.Seek(0, SeekOrigin.Begin); src.Seek(0, SeekOrigin.Begin);
MainLog.Instance.Verbose("REST", "Seek is ok"); MainLog.Instance.Verbose("REST", "Seek is ok");
Stream dst = _request.GetRequestStream(); Stream dst = _request.GetRequestStream();
MainLog.Instance.Verbose("REST", "GetRequestStream is ok"); MainLog.Instance.Verbose("REST", "GetRequestStream is ok");
byte[] buf = new byte[1024]; byte[] buf = new byte[1024];
int length = src.Read(buf, 0, 1024); int length = src.Read(buf, 0, 1024);
MainLog.Instance.Verbose("REST", "First Read is ok"); MainLog.Instance.Verbose("REST", "First Read is ok");
while (length > 0) while (length > 0)
{ {
dst.Write(buf, 0, length); dst.Write(buf, 0, length);
@ -440,4 +440,4 @@ namespace OpenSim.Framework.Communications
#endregion Async Invocation #endregion Async Invocation
} }
} }

View File

@ -27,7 +27,6 @@
*/ */
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using System.Security.Cryptography; using System.Security.Cryptography;
@ -93,13 +92,13 @@ namespace OpenSim.Framework.UserManagement
foreach (KeyValuePair<string, IUserData> plugin in _plugins) foreach (KeyValuePair<string, IUserData> plugin in _plugins)
{ {
UserProfileData profile = plugin.Value.GetUserByUUID(uuid); UserProfileData profile = plugin.Value.GetUserByUUID(uuid);
if (null != profile) if (null != profile)
{ {
profile.currentAgent = getUserAgent(profile.UUID); profile.currentAgent = getUserAgent(profile.UUID);
return profile; return profile;
} }
} }
return null; return null;
} }
@ -112,11 +111,11 @@ namespace OpenSim.Framework.UserManagement
try try
{ {
pickerlist = plugin.Value.GeneratePickerResults(queryID, query); pickerlist = plugin.Value.GeneratePickerResults(queryID, query);
} }
catch (Exception) catch (Exception)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to generate AgentPickerData via " + plugin.Key + "(" + query + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to generate AgentPickerData via " + plugin.Key + "(" + query + ")");
return new List<AvatarPickerAvatar>(); return new List<AvatarPickerAvatar>();
} }
} }
@ -162,7 +161,8 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to set user via " + plugin.Key + "(" + e.ToString() + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to set user via " + plugin.Key + "(" + e.ToString() + ")");
} }
} }
@ -188,7 +188,8 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
} }
} }
@ -210,7 +211,8 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
} }
} }
@ -222,7 +224,7 @@ namespace OpenSim.Framework.UserManagement
{ {
UserProfileData profile = GetUserProfile(agentID); UserProfileData profile = GetUserProfile(agentID);
profile.currentAgent = null; profile.currentAgent = null;
setUserProfile(profile); setUserProfile(profile);
} }
@ -242,7 +244,8 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
} }
} }
@ -356,7 +359,8 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Verbose("USERSTORAGE", "Unable to add user via " + plugin.Key + "(" + e.ToString() + ")"); MainLog.Instance.Verbose("USERSTORAGE",
"Unable to add user via " + plugin.Key + "(" + e.ToString() + ")");
} }
} }
@ -365,6 +369,6 @@ namespace OpenSim.Framework.UserManagement
public abstract UserProfileData SetupMasterUser(string firstName, string lastName); public abstract UserProfileData SetupMasterUser(string firstName, string lastName);
public abstract UserProfileData SetupMasterUser(string firstName, string lastName, string password); public abstract UserProfileData SetupMasterUser(string firstName, string lastName, string password);
public abstract UserProfileData SetupMasterUser(libsecondlife.LLUUID uuid); public abstract UserProfileData SetupMasterUser(LLUUID uuid);
} }
} }

View File

@ -136,4 +136,4 @@ namespace OpenSim.Framework.Configuration
doc = null; doc = null;
} }
} }
} }

View File

@ -27,24 +27,20 @@
*/ */
using System; using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Xml;
using libsecondlife;
using OpenSim.Framework.Console;
using OpenSim.Framework;
using System.Globalization; using System.Globalization;
using System.Net;
using System.Reflection;
using System.Xml;
using libsecondlife;
using OpenSim.Framework.Console;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
public class ConfigurationMember public class ConfigurationMember
{ {
public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result); public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result);
public delegate void ConfigurationOptionsLoad(); public delegate void ConfigurationOptionsLoad();
private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>(); private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>();
@ -55,29 +51,36 @@ namespace OpenSim.Framework
private ConfigurationOptionResult resultFunction; private ConfigurationOptionResult resultFunction;
private IGenericConfig configurationPlugin = null; private IGenericConfig configurationPlugin = null;
/// <summary> /// <summary>
/// This is the default configuration DLL loaded /// This is the default configuration DLL loaded
/// </summary> /// </summary>
private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll"; private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll";
public ConfigurationMember(string configuration_filename, string configuration_description, ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
public ConfigurationMember(string configuration_filename, string configuration_description,
ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
{ {
this.configurationFilename = configuration_filename; configurationFilename = configuration_filename;
this.configurationDescription = configuration_description; configurationDescription = configuration_description;
this.loadFunction = load_function; loadFunction = load_function;
this.resultFunction = result_function; resultFunction = result_function;
} }
public ConfigurationMember(XmlNode configuration_xml, string configuration_description, ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
public ConfigurationMember(XmlNode configuration_xml, string configuration_description,
ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
{ {
this.configurationFilename = ""; configurationFilename = "";
this.configurationFromXMLNode = configuration_xml; configurationFromXMLNode = configuration_xml;
this.configurationDescription = configuration_description; configurationDescription = configuration_description;
this.loadFunction = load_function; loadFunction = load_function;
this.resultFunction = result_function; resultFunction = result_function;
} }
public void setConfigurationFilename(string filename) public void setConfigurationFilename(string filename)
{ {
configurationFilename = filename; configurationFilename = filename;
} }
public void setConfigurationDescription(string desc) public void setConfigurationDescription(string desc)
{ {
configurationDescription = desc; configurationDescription = desc;
@ -92,9 +95,11 @@ namespace OpenSim.Framework
{ {
configurationPluginFilename = dll_filename; configurationPluginFilename = dll_filename;
} }
private void checkAndAddConfigOption(ConfigurationOption option) private void checkAndAddConfigOption(ConfigurationOption option)
{ {
if ((option.configurationKey != "" && option.configurationQuestion != "") || (option.configurationKey != "" && option.configurationUseDefaultNoPrompt)) if ((option.configurationKey != "" && option.configurationQuestion != "") ||
(option.configurationKey != "" && option.configurationUseDefaultNoPrompt))
{ {
if (!configurationOptions.Contains(option)) if (!configurationOptions.Contains(option))
{ {
@ -103,11 +108,16 @@ namespace OpenSim.Framework
} }
else else
{ {
MainLog.Instance.Notice("Required fields for adding a configuration option is invalid. Will not add this option (" + option.configurationKey + ")"); MainLog.Instance.Notice(
"Required fields for adding a configuration option is invalid. Will not add this option (" +
option.configurationKey + ")");
} }
} }
public void addConfigurationOption(string configuration_key, ConfigurationOption.ConfigurationTypes configuration_type, string configuration_question, string configuration_default, bool use_default_no_prompt) public void addConfigurationOption(string configuration_key,
ConfigurationOption.ConfigurationTypes configuration_type,
string configuration_question, string configuration_default,
bool use_default_no_prompt)
{ {
ConfigurationOption configOption = new ConfigurationOption(); ConfigurationOption configOption = new ConfigurationOption();
configOption.configurationKey = configuration_key; configOption.configurationKey = configuration_key;
@ -119,7 +129,11 @@ namespace OpenSim.Framework
checkAndAddConfigOption(configOption); checkAndAddConfigOption(configOption);
} }
public void addConfigurationOption(string configuration_key, ConfigurationOption.ConfigurationTypes configuration_type, string configuration_question, string configuration_default, bool use_default_no_prompt, ConfigurationOption.ConfigurationOptionShouldBeAsked shouldIBeAskedDelegate) public void addConfigurationOption(string configuration_key,
ConfigurationOption.ConfigurationTypes configuration_type,
string configuration_question, string configuration_default,
bool use_default_no_prompt,
ConfigurationOption.ConfigurationOptionShouldBeAsked shouldIBeAskedDelegate)
{ {
ConfigurationOption configOption = new ConfigurationOption(); ConfigurationOption configOption = new ConfigurationOption();
configOption.configurationKey = configuration_key; configOption.configurationKey = configuration_key;
@ -133,26 +147,30 @@ namespace OpenSim.Framework
public void performConfigurationRetrieve() public void performConfigurationRetrieve()
{ {
configurationPlugin = this.LoadConfigDll(configurationPluginFilename); configurationPlugin = LoadConfigDll(configurationPluginFilename);
configurationOptions.Clear(); configurationOptions.Clear();
if(loadFunction == null) if (loadFunction == null)
{ {
MainLog.Instance.Error("Load Function for '" + this.configurationDescription + "' is null. Refusing to run configuration."); MainLog.Instance.Error("Load Function for '" + configurationDescription +
"' is null. Refusing to run configuration.");
return; return;
} }
if(resultFunction == null) if (resultFunction == null)
{ {
MainLog.Instance.Error("Result Function for '" + this.configurationDescription + "' is null. Refusing to run configuration."); MainLog.Instance.Error("Result Function for '" + configurationDescription +
"' is null. Refusing to run configuration.");
return; return;
} }
MainLog.Instance.Verbose("CONFIG", "Calling Configuration Load Function..."); MainLog.Instance.Verbose("CONFIG", "Calling Configuration Load Function...");
this.loadFunction(); loadFunction();
if(configurationOptions.Count <= 0) if (configurationOptions.Count <= 0)
{ {
MainLog.Instance.Error("CONFIG", "No configuration options were specified for '" + this.configurationOptions + "'. Refusing to continue configuration."); MainLog.Instance.Error("CONFIG",
"No configuration options were specified for '" + configurationOptions +
"'. Refusing to continue configuration.");
return; return;
} }
@ -179,7 +197,7 @@ namespace OpenSim.Framework
} }
else else
{ {
if (this.configurationFromXMLNode != null) if (configurationFromXMLNode != null)
{ {
MainLog.Instance.Notice("Loading from XML Node, will not save to the file"); MainLog.Instance.Notice("Loading from XML Node, will not save to the file");
configurationPlugin.LoadDataFromString(configurationFromXMLNode.OuterXml); configurationPlugin.LoadDataFromString(configurationFromXMLNode.OuterXml);
@ -219,15 +237,22 @@ namespace OpenSim.Framework
} }
else else
{ {
if ((configOption.shouldIBeAsked != null && configOption.shouldIBeAsked(configOption.configurationKey)) || configOption.shouldIBeAsked == null) if ((configOption.shouldIBeAsked != null &&
configOption.shouldIBeAsked(configOption.configurationKey)) ||
configOption.shouldIBeAsked == null)
{ {
if (configurationDescription.Trim() != "") if (configurationDescription.Trim() != "")
{ {
console_result = MainLog.Instance.CmdPrompt(configurationDescription + ": " + configOption.configurationQuestion, configOption.configurationDefault); console_result =
MainLog.Instance.CmdPrompt(
configurationDescription + ": " + configOption.configurationQuestion,
configOption.configurationDefault);
} }
else else
{ {
console_result = MainLog.Instance.CmdPrompt(configOption.configurationQuestion, configOption.configurationDefault); console_result =
MainLog.Instance.CmdPrompt(configOption.configurationQuestion,
configOption.configurationDefault);
} }
} }
else else
@ -235,7 +260,7 @@ namespace OpenSim.Framework
//Dont Ask! Just use default //Dont Ask! Just use default
console_result = configOption.configurationDefault; console_result = configOption.configurationDefault;
} }
} }
} }
else else
{ {
@ -366,7 +391,9 @@ namespace OpenSim.Framework
break; break;
case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT:
float floatResult; float floatResult;
if (float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out floatResult)) if (
float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
out floatResult))
{ {
convertSuccess = true; convertSuccess = true;
return_result = floatResult; return_result = floatResult;
@ -375,7 +402,9 @@ namespace OpenSim.Framework
break; break;
case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE:
double doubleResult; double doubleResult;
if (Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, out doubleResult)) if (
Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
out doubleResult))
{ {
convertSuccess = true; convertSuccess = true;
return_result = doubleResult; return_result = doubleResult;
@ -391,9 +420,10 @@ namespace OpenSim.Framework
configurationPlugin.SetAttribute(configOption.configurationKey, console_result); configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
} }
if (!this.resultFunction(configOption.configurationKey, return_result)) if (!resultFunction(configOption.configurationKey, return_result))
{ {
Console.MainLog.Instance.Notice("The handler for the last configuration option denied that input, please try again."); MainLog.Instance.Notice(
"The handler for the last configuration option denied that input, please try again.");
convertSuccess = false; convertSuccess = false;
ignoreNextFromConfig = true; ignoreNextFromConfig = true;
} }
@ -402,19 +432,27 @@ namespace OpenSim.Framework
{ {
if (configOption.configurationUseDefaultNoPrompt) if (configOption.configurationUseDefaultNoPrompt)
{ {
MainLog.Instance.Error("CONFIG", string.Format("[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); MainLog.Instance.Error("CONFIG",
string.Format(
"[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n",
configOption.configurationKey, console_result, errorMessage,
configurationFilename));
convertSuccess = true; convertSuccess = true;
} }
else else
{ {
MainLog.Instance.Warn("CONFIG", string.Format("[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n", configOption.configurationKey, console_result, errorMessage, configurationFilename)); MainLog.Instance.Warn("CONFIG",
string.Format(
"[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n",
configOption.configurationKey, console_result, errorMessage,
configurationFilename));
ignoreNextFromConfig = true; ignoreNextFromConfig = true;
} }
} }
} }
} }
if(useFile) if (useFile)
{ {
configurationPlugin.Commit(); configurationPlugin.Commit();
configurationPlugin.Close(); configurationPlugin.Close();
@ -436,7 +474,8 @@ namespace OpenSim.Framework
if (typeInterface != null) if (typeInterface != null)
{ {
plug = (IGenericConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); plug =
(IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
} }
} }
} }
@ -448,10 +487,10 @@ namespace OpenSim.Framework
public void forceSetConfigurationOption(string configuration_key, string configuration_value) public void forceSetConfigurationOption(string configuration_key, string configuration_value)
{ {
this.configurationPlugin.LoadData(); configurationPlugin.LoadData();
this.configurationPlugin.SetAttribute(configuration_key, configuration_value); configurationPlugin.SetAttribute(configuration_key, configuration_value);
this.configurationPlugin.Commit(); configurationPlugin.Commit();
this.configurationPlugin.Close(); configurationPlugin.Close();
} }
} }
} }

View File

@ -30,7 +30,6 @@ namespace OpenSim.Framework
{ {
public class ConfigurationOption public class ConfigurationOption
{ {
public delegate bool ConfigurationOptionShouldBeAsked(string configuration_key); public delegate bool ConfigurationOptionShouldBeAsked(string configuration_key);
public enum ConfigurationTypes public enum ConfigurationTypes

View File

@ -55,4 +55,4 @@ using System.Runtime.InteropServices;
// You can specify all values by your own or you can build default build and revision // You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default): // numbers with the '*' character (the default):
[assembly : AssemblyVersion("1.0.*")] [assembly : AssemblyVersion("1.0.*")]

View File

@ -32,4 +32,4 @@ namespace OpenSim.Framework.Console
void RunCmd(string cmd, string[] cmdparams); void RunCmd(string cmd, string[] cmdparams);
void Show(string ShowWhat); void Show(string ShowWhat);
} }
} }

View File

@ -248,12 +248,12 @@ namespace OpenSim.Framework.Console
// Some older systems dont support coloured text. // Some older systems dont support coloured text.
System.Console.WriteLine(format, args); System.Console.WriteLine(format, args);
} }
catch (System.FormatException) catch (FormatException)
{ {
// Some older systems dont support coloured text. // Some older systems dont support coloured text.
System.Console.WriteLine(args); System.Console.WriteLine(args);
} }
return; return;
} }
} }
@ -479,4 +479,4 @@ namespace OpenSim.Framework.Console
} }
} }
} }
} }

View File

@ -37,4 +37,4 @@ namespace OpenSim.Framework.Console
set { instance = value; } set { instance = value; }
} }
} }
} }

View File

@ -140,16 +140,17 @@ namespace OpenSim.Framework.Data.DB4o
{ {
manager = null; manager = null;
} }
/// <summary> /// <summary>
/// // Returns a list of avatar and UUIDs that match the query /// // Returns a list of avatar and UUIDs that match the query
/// </summary> /// </summary>
public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
//Do nothing yet //Do nothing yet
List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
return returnlist; return returnlist;
} }
/// <summary> /// <summary>
/// Returns the providers name /// Returns the providers name
/// </summary> /// </summary>
@ -173,4 +174,4 @@ namespace OpenSim.Framework.Data.DB4o
return null; return null;
} }
} }
} }

View File

@ -167,4 +167,4 @@ namespace OpenSim.Framework.Data.DB4o
} }
} }
} }
} }

View File

@ -26,8 +26,8 @@
* *
*/ */
using System; using System;
using System.IO;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using libsecondlife; using libsecondlife;
namespace OpenSim.Framework.Data.DB4o namespace OpenSim.Framework.Data.DB4o
@ -132,12 +132,14 @@ namespace OpenSim.Framework.Data.DB4o
return null; return null;
} }
} }
public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
//Do nothing yet //Do nothing yet
List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
return returnlist; return returnlist;
} }
/// <summary> /// <summary>
/// Creates a new user profile /// Creates a new user profile
/// </summary> /// </summary>
@ -225,4 +227,4 @@ namespace OpenSim.Framework.Data.DB4o
return "0.1"; return "0.1";
} }
} }
} }

View File

@ -27,18 +27,18 @@
*/ */
using System; using System;
using System.Data;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
namespace OpenSim.Framework.Data.MSSQL namespace OpenSim.Framework.Data.MSSQL
{ {
class MSSQLAssetData : IAssetProvider internal class MSSQLAssetData : IAssetProvider
{ {
MSSQLManager database; private MSSQLManager database;
#region IAssetProvider Members #region IAssetProvider Members
private void UpgradeAssetsTable(string tableName) private void UpgradeAssetsTable(string tableName)
@ -46,7 +46,7 @@ namespace OpenSim.Framework.Data.MSSQL
// null as the version, indicates that the table didn't exist // null as the version, indicates that the table didn't exist
if (tableName == null) if (tableName == null)
{ {
MainLog.Instance.Notice("ASSETS", "Creating new database tables"); MainLog.Instance.Notice("ASSETS", "Creating new database tables");
database.ExecuteResourceSql("CreateAssetsTable.sql"); database.ExecuteResourceSql("CreateAssetsTable.sql");
return; return;
} }
@ -57,14 +57,12 @@ namespace OpenSim.Framework.Data.MSSQL
/// </summary> /// </summary>
private void TestTables() private void TestTables()
{ {
Dictionary<string, string> tableList = new Dictionary<string, string>(); Dictionary<string, string> tableList = new Dictionary<string, string>();
tableList["assets"] = null; tableList["assets"] = null;
database.GetTableVersion(tableList); database.GetTableVersion(tableList);
UpgradeAssetsTable(tableList["assets"]); UpgradeAssetsTable(tableList["assets"]);
} }
public AssetBase FetchAsset(LLUUID assetID) public AssetBase FetchAsset(LLUUID assetID)
@ -80,30 +78,27 @@ namespace OpenSim.Framework.Data.MSSQL
asset = database.getAssetRow(reader); asset = database.getAssetRow(reader);
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
return asset; return asset;
} }
public void CreateAsset(AssetBase asset) public void CreateAsset(AssetBase asset)
{ {
if (ExistsAsset((LLUUID) asset.FullID))
if (ExistsAsset((LLUUID)asset.FullID))
{ {
return; return;
} }
SqlCommand cmd = SqlCommand cmd =
new SqlCommand( new SqlCommand(
"INSERT INTO assets ([id], [name], [description], [assetType], [invType], [local], [temporary], [data])"+ "INSERT INTO assets ([id], [name], [description], [assetType], [invType], [local], [temporary], [data])" +
" VALUES "+ " VALUES " +
"(@id, @name, @description, @assetType, @invType, @local, @temporary, @data)", "(@id, @name, @description, @assetType, @invType, @local, @temporary, @data)",
database.getConnection()); database.getConnection());
using (cmd) using (cmd)
{ {
//SqlParameter p = cmd.Parameters.Add("id", SqlDbType.NVarChar); //SqlParameter p = cmd.Parameters.Add("id", SqlDbType.NVarChar);
//p.Value = asset.FullID.ToString(); //p.Value = asset.FullID.ToString();
cmd.Parameters.AddWithValue("id", asset.FullID.ToString()); cmd.Parameters.AddWithValue("id", asset.FullID.ToString());
@ -127,24 +122,23 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
throw; throw;
} }
cmd.Dispose(); cmd.Dispose();
} }
} }
public void UpdateAsset(AssetBase asset) public void UpdateAsset(AssetBase asset)
{ {
SqlCommand command = new SqlCommand("UPDATE assets set id = @id, " + SqlCommand command = new SqlCommand("UPDATE assets set id = @id, " +
"name = @name, " + "name = @name, " +
"description = @description," + "description = @description," +
"assetType = @assetType," + "assetType = @assetType," +
"invType = @invType," + "invType = @invType," +
"local = @local,"+ "local = @local," +
"temporary = @temporary," + "temporary = @temporary," +
"data = @data where " + "data = @data where " +
"id = @keyId;", database.getConnection()); "id = @keyId;", database.getConnection());
SqlParameter param1 = new SqlParameter("@id", asset.FullID.ToString()); SqlParameter param1 = new SqlParameter("@id", asset.FullID.ToString());
SqlParameter param2 = new SqlParameter("@name", asset.Name); SqlParameter param2 = new SqlParameter("@name", asset.Name);
SqlParameter param3 = new SqlParameter("@description", asset.Description); SqlParameter param3 = new SqlParameter("@description", asset.Description);
@ -172,12 +166,12 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
} }
} }
public bool ExistsAsset(LLUUID uuid) public bool ExistsAsset(LLUUID uuid)
{ {
if (FetchAsset(uuid) != null) { if (FetchAsset(uuid) != null)
{
return true; return true;
} }
return false; return false;
@ -194,11 +188,8 @@ namespace OpenSim.Framework.Data.MSSQL
#region IPlugin Members #region IPlugin Members
public void Initialise() public void Initialise()
{ {
IniFile GridDataMySqlFile = new IniFile("mssql_connection.ini"); IniFile GridDataMySqlFile = new IniFile("mssql_connection.ini");
string settingDataSource = GridDataMySqlFile.ParseFileReadValue("data_source"); string settingDataSource = GridDataMySqlFile.ParseFileReadValue("data_source");
string settingInitialCatalog = GridDataMySqlFile.ParseFileReadValue("initial_catalog"); string settingInitialCatalog = GridDataMySqlFile.ParseFileReadValue("initial_catalog");
@ -206,7 +197,9 @@ namespace OpenSim.Framework.Data.MSSQL
string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id"); string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
string settingPassword = GridDataMySqlFile.ParseFileReadValue("password"); string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
this.database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
settingPassword);
TestTables(); TestTables();
} }
@ -214,7 +207,7 @@ namespace OpenSim.Framework.Data.MSSQL
public string Version public string Version
{ {
// get { return database.getVersion(); } // get { return database.getVersion(); }
get { return database.getVersion(); } get { return database.getVersion(); }
} }
public string Name public string Name
@ -224,4 +217,4 @@ namespace OpenSim.Framework.Data.MSSQL
#endregion #endregion
} }
} }

View File

@ -57,8 +57,9 @@ namespace OpenSim.Framework.Data.MSSQL
string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id"); string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
string settingPassword = GridDataMySqlFile.ParseFileReadValue("password"); string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
settingPassword);
} }
/// <summary> /// <summary>
@ -120,14 +121,13 @@ namespace OpenSim.Framework.Data.MSSQL
result.Dispose(); result.Dispose();
return row; return row;
} }
catch (Exception) catch (Exception)
{ {
if (reader != null) { if (reader != null)
{
reader.Close(); reader.Close();
} }
} }
return null; return null;
} }
@ -135,7 +135,6 @@ namespace OpenSim.Framework.Data.MSSQL
/// <summary> /// <summary>
/// // Returns a list of avatar and UUIDs that match the query /// // Returns a list of avatar and UUIDs that match the query
/// </summary> /// </summary>
public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
@ -152,18 +151,19 @@ namespace OpenSim.Framework.Data.MSSQL
param["second"] = querysplit[1]; param["second"] = querysplit[1];
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username = @first AND lastname = @second", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username = @first AND lastname = @second",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
AvatarPickerAvatar user = new AvatarPickerAvatar(); AvatarPickerAvatar user = new AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -175,13 +175,9 @@ namespace OpenSim.Framework.Data.MSSQL
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
return returnlist; return returnlist;
} }
} }
else if (querysplit.Length == 1) else if (querysplit.Length == 1)
{ {
try try
{ {
lock (database) lock (database)
@ -191,18 +187,19 @@ namespace OpenSim.Framework.Data.MSSQL
param["second"] = querysplit[1]; param["second"] = querysplit[1];
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username = @first OR lastname = @second", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username = @first OR lastname = @second",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
AvatarPickerAvatar user = new AvatarPickerAvatar(); AvatarPickerAvatar user = new AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -225,8 +222,8 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>The sim profile</returns> /// <returns>The sim profile</returns>
public RegionProfileData GetProfileByLLUUID(LLUUID uuid) public RegionProfileData GetProfileByLLUUID(LLUUID uuid)
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["uuid"] = uuid.ToString(); param["uuid"] = uuid.ToString();
IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param); IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
@ -244,7 +241,6 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>A dataresponse enum indicating success</returns> /// <returns>A dataresponse enum indicating success</returns>
public DataResponse AddProfile(RegionProfileData profile) public DataResponse AddProfile(RegionProfileData profile)
{ {
try try
{ {
if (GetProfileByLLUUID(profile.UUID) != null) if (GetProfileByLLUUID(profile.UUID) != null)
@ -310,4 +306,4 @@ namespace OpenSim.Framework.Data.MSSQL
return null; return null;
} }
} }
} }

View File

@ -26,10 +26,9 @@
* *
*/ */
using System; using System;
using System.IO; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Collections.Generic;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
@ -57,7 +56,9 @@ namespace OpenSim.Framework.Data.MSSQL
string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id"); string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
string settingPassword = GridDataMySqlFile.ParseFileReadValue("password"); string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
settingPassword);
TestTables(); TestTables();
} }
@ -72,7 +73,6 @@ namespace OpenSim.Framework.Data.MSSQL
//database.ExecuteResourceSql("UpgradeFoldersTableToVersion2.sql"); //database.ExecuteResourceSql("UpgradeFoldersTableToVersion2.sql");
return; return;
} }
} }
private void UpgradeItemsTable(string tableName) private void UpgradeItemsTable(string tableName)
@ -88,17 +88,17 @@ namespace OpenSim.Framework.Data.MSSQL
private void TestTables() private void TestTables()
{ {
Dictionary<string, string> tableList = new Dictionary<string, string>(); Dictionary<string, string> tableList = new Dictionary<string, string>();
tableList["inventoryfolders"] = null; tableList["inventoryfolders"] = null;
tableList["inventoryitems"] = null; tableList["inventoryitems"] = null;
database.GetTableVersion(tableList); database.GetTableVersion(tableList);
UpgradeFoldersTable(tableList["inventoryfolders"]); UpgradeFoldersTable(tableList["inventoryfolders"]);
UpgradeItemsTable(tableList["inventoryitems"]); UpgradeItemsTable(tableList["inventoryitems"]);
} }
#endregion #endregion
/// <summary> /// <summary>
@ -124,7 +124,7 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>A string containing the DB provider</returns> /// <returns>A string containing the DB provider</returns>
public string getVersion() public string getVersion()
{ {
return database.getVersion(); return database.getVersion();
} }
/// <summary> /// <summary>
@ -143,15 +143,16 @@ namespace OpenSim.Framework.Data.MSSQL
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["parentFolderID"] = folderID.ToString(); param["parentFolderID"] = folderID.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE parentFolderID = @parentFolderID", param); IDbCommand result =
database.Query("SELECT * FROM inventoryitems WHERE parentFolderID = @parentFolderID", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while(reader.Read()) while (reader.Read())
items.Add(readInventoryItem(reader)); items.Add(readInventoryItem(reader));
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
return items; return items;
} }
} }
@ -174,16 +175,17 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
lock (database) lock (database)
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["uuid"] = user.ToString(); param["uuid"] = user.ToString();
param["zero"] = LLUUID.Zero.ToString(); param["zero"] = LLUUID.Zero.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = @zero AND agentID = @uuid", param); IDbCommand result =
database.Query(
"SELECT * FROM inventoryfolders WHERE parentFolderID = @zero AND agentID = @uuid", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
List<InventoryFolderBase> items = new List<InventoryFolderBase>(); List<InventoryFolderBase> items = new List<InventoryFolderBase>();
while(reader.Read()) while (reader.Read())
items.Add(readInventoryFolder(reader)); items.Add(readInventoryFolder(reader));
@ -212,24 +214,27 @@ namespace OpenSim.Framework.Data.MSSQL
param["uuid"] = user.ToString(); param["uuid"] = user.ToString();
param["zero"] = LLUUID.Zero.ToString(); param["zero"] = LLUUID.Zero.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = @zero AND agentID = @uuid", param); IDbCommand result =
database.Query(
"SELECT * FROM inventoryfolders WHERE parentFolderID = @zero AND agentID = @uuid", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
List<InventoryFolderBase> items = new List<InventoryFolderBase>(); List<InventoryFolderBase> items = new List<InventoryFolderBase>();
while(reader.Read()) while (reader.Read())
items.Add(readInventoryFolder(reader)); items.Add(readInventoryFolder(reader));
InventoryFolderBase rootFolder = null; InventoryFolderBase rootFolder = null;
// There should only ever be one root folder for a user. However, if there's more // There should only ever be one root folder for a user. However, if there's more
// than one we'll simply use the first one rather than failing. It would be even // than one we'll simply use the first one rather than failing. It would be even
// nicer to print some message to this effect, but this feels like it's too low a // nicer to print some message to this effect, but this feels like it's too low a
// to put such a message out, and it's too minor right now to spare the time to // to put such a message out, and it's too minor right now to spare the time to
// suitably refactor. // suitably refactor.
if (items.Count > 0) { if (items.Count > 0)
{
rootFolder = items[0]; rootFolder = items[0];
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -259,12 +264,13 @@ namespace OpenSim.Framework.Data.MSSQL
param["parentFolderID"] = parentID.ToString(); param["parentFolderID"] = parentID.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = @parentFolderID", param); IDbCommand result =
database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = @parentFolderID", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
List<InventoryFolderBase> items = new List<InventoryFolderBase>(); List<InventoryFolderBase> items = new List<InventoryFolderBase>();
while(reader.Read()) while (reader.Read())
items.Add(readInventoryFolder(reader)); items.Add(readInventoryFolder(reader));
reader.Close(); reader.Close();
@ -292,17 +298,17 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
InventoryItemBase item = new InventoryItemBase(); InventoryItemBase item = new InventoryItemBase();
item.inventoryID = new LLUUID((string)reader["inventoryID"]); item.inventoryID = new LLUUID((string) reader["inventoryID"]);
item.assetID = new LLUUID((string)reader["assetID"]); item.assetID = new LLUUID((string) reader["assetID"]);
item.assetType = (int)reader["assetType"]; item.assetType = (int) reader["assetType"];
item.parentFolderID = new LLUUID((string)reader["parentFolderID"]); item.parentFolderID = new LLUUID((string) reader["parentFolderID"]);
item.avatarID = new LLUUID((string)reader["avatarID"]); item.avatarID = new LLUUID((string) reader["avatarID"]);
item.inventoryName = (string)reader["inventoryName"]; item.inventoryName = (string) reader["inventoryName"];
item.inventoryDescription = (string)reader["inventoryDescription"]; item.inventoryDescription = (string) reader["inventoryDescription"];
item.inventoryNextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"]); item.inventoryNextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"]);
item.inventoryCurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"]); item.inventoryCurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"]);
item.invType = (int)reader["invType"]; item.invType = (int) reader["invType"];
item.creatorsID = new LLUUID((string)reader["creatorID"]); item.creatorsID = new LLUUID((string) reader["creatorID"]);
item.inventoryBasePermissions = Convert.ToUInt32(reader["inventoryBasePermissions"]); item.inventoryBasePermissions = Convert.ToUInt32(reader["inventoryBasePermissions"]);
item.inventoryEveryOnePermissions = Convert.ToUInt32(reader["inventoryEveryOnePermissions"]); item.inventoryEveryOnePermissions = Convert.ToUInt32(reader["inventoryEveryOnePermissions"]);
return item; return item;
@ -322,7 +328,6 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>An inventory item</returns> /// <returns>An inventory item</returns>
public InventoryItemBase getInventoryItem(LLUUID itemID) public InventoryItemBase getInventoryItem(LLUUID itemID)
{ {
try try
{ {
lock (database) lock (database)
@ -330,11 +335,12 @@ namespace OpenSim.Framework.Data.MSSQL
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["inventoryID"] = itemID.ToString(); param["inventoryID"] = itemID.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE inventoryID = @inventoryID", param); IDbCommand result =
database.Query("SELECT * FROM inventoryitems WHERE inventoryID = @inventoryID", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
InventoryItemBase item = null; InventoryItemBase item = null;
if(reader.Read()) if (reader.Read())
item = readInventoryItem(reader); item = readInventoryItem(reader);
reader.Close(); reader.Close();
@ -361,12 +367,12 @@ namespace OpenSim.Framework.Data.MSSQL
try try
{ {
InventoryFolderBase folder = new InventoryFolderBase(); InventoryFolderBase folder = new InventoryFolderBase();
folder.agentID = new LLUUID((string)reader["agentID"]); folder.agentID = new LLUUID((string) reader["agentID"]);
folder.parentID = new LLUUID((string)reader["parentFolderID"]); folder.parentID = new LLUUID((string) reader["parentFolderID"]);
folder.folderID = new LLUUID((string)reader["folderID"]); folder.folderID = new LLUUID((string) reader["folderID"]);
folder.name = (string)reader["folderName"]; folder.name = (string) reader["folderName"];
folder.type = (short)reader["type"]; folder.type = (short) reader["type"];
folder.version = (ushort)((int)reader["version"]); folder.version = (ushort) ((int) reader["version"]);
return folder; return folder;
} }
catch (Exception e) catch (Exception e)
@ -389,7 +395,7 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
lock (database) lock (database)
{ {
Dictionary<string, string> param = new Dictionary<string,string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["uuid"] = folderID.ToString(); param["uuid"] = folderID.ToString();
IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE folderID = @uuid", param); IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE folderID = @uuid", param);
@ -418,8 +424,10 @@ namespace OpenSim.Framework.Data.MSSQL
public void addInventoryItem(InventoryItemBase item) public void addInventoryItem(InventoryItemBase item)
{ {
string sql = "INSERT INTO inventoryitems"; string sql = "INSERT INTO inventoryitems";
sql += "([inventoryID], [assetID], [assetType], [parentFolderID], [avatarID], [inventoryName], [inventoryDescription], [inventoryNextPermissions], [inventoryCurrentPermissions], [invType], [creatorID], [inventoryBasePermissions], [inventoryEveryOnePermissions]) VALUES "; sql +=
sql += "(@inventoryID, @assetID, @assetType, @parentFolderID, @avatarID, @inventoryName, @inventoryDescription, @inventoryNextPermissions, @inventoryCurrentPermissions, @invType, @creatorID, @inventoryBasePermissions, @inventoryEveryOnePermissions);"; "([inventoryID], [assetID], [assetType], [parentFolderID], [avatarID], [inventoryName], [inventoryDescription], [inventoryNextPermissions], [inventoryCurrentPermissions], [invType], [creatorID], [inventoryBasePermissions], [inventoryEveryOnePermissions]) VALUES ";
sql +=
"(@inventoryID, @assetID, @assetType, @parentFolderID, @avatarID, @inventoryName, @inventoryDescription, @inventoryNextPermissions, @inventoryCurrentPermissions, @invType, @creatorID, @inventoryBasePermissions, @inventoryEveryOnePermissions);";
try try
{ {
@ -441,7 +449,6 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand result = database.Query(sql, param); IDbCommand result = database.Query(sql, param);
result.ExecuteNonQuery(); result.ExecuteNonQuery();
result.Dispose(); result.Dispose();
} }
catch (SqlException e) catch (SqlException e)
{ {
@ -454,21 +461,21 @@ namespace OpenSim.Framework.Data.MSSQL
/// </summary> /// </summary>
/// <param name="item">Inventory item to update</param> /// <param name="item">Inventory item to update</param>
public void updateInventoryItem(InventoryItemBase item) public void updateInventoryItem(InventoryItemBase item)
{ {
SqlCommand command = new SqlCommand("UPDATE inventoryitems set inventoryID = @inventoryID, " + SqlCommand command = new SqlCommand("UPDATE inventoryitems set inventoryID = @inventoryID, " +
"assetID = @assetID, " + "assetID = @assetID, " +
"assetType = @assetType" + "assetType = @assetType" +
"parentFolderID = @parentFolderID" + "parentFolderID = @parentFolderID" +
"avatarID = @avatarID" + "avatarID = @avatarID" +
"inventoryName = @inventoryName"+ "inventoryName = @inventoryName" +
"inventoryDescription = @inventoryDescription" + "inventoryDescription = @inventoryDescription" +
"inventoryNextPermissions = @inventoryNextPermissions" + "inventoryNextPermissions = @inventoryNextPermissions" +
"inventoryCurrentPermissions = @inventoryCurrentPermissions" + "inventoryCurrentPermissions = @inventoryCurrentPermissions" +
"invType = @invType" + "invType = @invType" +
"creatorID = @creatorID" + "creatorID = @creatorID" +
"inventoryBasePermissions = @inventoryBasePermissions" + "inventoryBasePermissions = @inventoryBasePermissions" +
"inventoryEveryOnePermissions = @inventoryEveryOnePermissions) where " + "inventoryEveryOnePermissions = @inventoryEveryOnePermissions) where " +
"invenoryID = @keyInventoryID;", database.getConnection()); "invenoryID = @keyInventoryID;", database.getConnection());
SqlParameter param1 = new SqlParameter("@inventoryID", item.inventoryID.ToString()); SqlParameter param1 = new SqlParameter("@inventoryID", item.inventoryID.ToString());
SqlParameter param2 = new SqlParameter("@assetID", item.assetID); SqlParameter param2 = new SqlParameter("@assetID", item.assetID);
SqlParameter param3 = new SqlParameter("@assetType", item.assetType); SqlParameter param3 = new SqlParameter("@assetType", item.assetType);
@ -481,7 +488,7 @@ namespace OpenSim.Framework.Data.MSSQL
SqlParameter param10 = new SqlParameter("@invType", item.invType); SqlParameter param10 = new SqlParameter("@invType", item.invType);
SqlParameter param11 = new SqlParameter("@creatorID", item.creatorsID); SqlParameter param11 = new SqlParameter("@creatorID", item.creatorsID);
SqlParameter param12 = new SqlParameter("@inventoryBasePermissions", item.inventoryBasePermissions); SqlParameter param12 = new SqlParameter("@inventoryBasePermissions", item.inventoryBasePermissions);
SqlParameter param13 = new SqlParameter("@inventoryEveryOnePermissions", item.inventoryEveryOnePermissions); SqlParameter param13 = new SqlParameter("@inventoryEveryOnePermissions", item.inventoryEveryOnePermissions);
SqlParameter param14 = new SqlParameter("@keyInventoryID", item.inventoryID.ToString()); SqlParameter param14 = new SqlParameter("@keyInventoryID", item.inventoryID.ToString());
command.Parameters.Add(param1); command.Parameters.Add(param1);
command.Parameters.Add(param2); command.Parameters.Add(param2);
@ -506,7 +513,6 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
} }
} }
/// <summary> /// <summary>
@ -523,8 +529,6 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand cmd = database.Query("DELETE FROM inventoryitems WHERE inventoryID=@uuid", param); IDbCommand cmd = database.Query("DELETE FROM inventoryitems WHERE inventoryID=@uuid", param);
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
cmd.Dispose(); cmd.Dispose();
} }
catch (SqlException e) catch (SqlException e)
{ {
@ -539,7 +543,8 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="folder">Folder to create</param> /// <param name="folder">Folder to create</param>
public void addInventoryFolder(InventoryFolderBase folder) public void addInventoryFolder(InventoryFolderBase folder)
{ {
string sql = "INSERT INTO inventoryfolders ([folderID], [agentID], [parentFolderID], [folderName], [type], [version]) VALUES "; string sql =
"INSERT INTO inventoryfolders ([folderID], [agentID], [parentFolderID], [folderName], [type], [version]) VALUES ";
sql += "(@folderID, @agentID, @parentFolderID, @folderName, @type, @version);"; sql += "(@folderID, @agentID, @parentFolderID, @folderName, @type, @version);";
@ -550,9 +555,9 @@ namespace OpenSim.Framework.Data.MSSQL
param["folderName"] = folder.name; param["folderName"] = folder.name;
param["type"] = Convert.ToString(folder.type); param["type"] = Convert.ToString(folder.type);
param["version"] = Convert.ToString(folder.version); param["version"] = Convert.ToString(folder.version);
try try
{ {
IDbCommand result = database.Query(sql, param); IDbCommand result = database.Query(sql, param);
result.ExecuteNonQuery(); result.ExecuteNonQuery();
result.Dispose(); result.Dispose();
@ -567,16 +572,15 @@ namespace OpenSim.Framework.Data.MSSQL
/// Updates an inventory folder /// Updates an inventory folder
/// </summary> /// </summary>
/// <param name="folder">Folder to update</param> /// <param name="folder">Folder to update</param>
public void updateInventoryFolder(InventoryFolderBase folder) public void updateInventoryFolder(InventoryFolderBase folder)
{ {
SqlCommand command = new SqlCommand("UPDATE inventoryfolders set folderID = @folderID, " + SqlCommand command = new SqlCommand("UPDATE inventoryfolders set folderID = @folderID, " +
"agentID = @agentID, " + "agentID = @agentID, " +
"parentFolderID = @parentFolderID," + "parentFolderID = @parentFolderID," +
"folderName = @folderName," + "folderName = @folderName," +
"type = @type," + "type = @type," +
"version = @version where " + "version = @version where " +
"folderID = @keyFolderID;", database.getConnection()); "folderID = @keyFolderID;", database.getConnection());
SqlParameter param1 = new SqlParameter("@folderID", folder.folderID.ToString()); SqlParameter param1 = new SqlParameter("@folderID", folder.folderID.ToString());
SqlParameter param2 = new SqlParameter("@agentID", folder.agentID.ToString()); SqlParameter param2 = new SqlParameter("@agentID", folder.agentID.ToString());
SqlParameter param3 = new SqlParameter("@parentFolderID", folder.parentID.ToString()); SqlParameter param3 = new SqlParameter("@parentFolderID", folder.parentID.ToString());
@ -600,20 +604,17 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
} }
} }
/// <summary> /// <summary>
/// Updates an inventory folder /// Updates an inventory folder
/// </summary> /// </summary>
/// <param name="folder">Folder to update</param> /// <param name="folder">Folder to update</param>
public void moveInventoryFolder(InventoryFolderBase folder) public void moveInventoryFolder(InventoryFolderBase folder)
{ {
SqlCommand command = new SqlCommand("UPDATE inventoryfolders set folderID = @folderID, " + SqlCommand command = new SqlCommand("UPDATE inventoryfolders set folderID = @folderID, " +
"parentFolderID = @parentFolderID," + "parentFolderID = @parentFolderID," +
"folderID = @keyFolderID;", database.getConnection()); "folderID = @keyFolderID;", database.getConnection());
SqlParameter param1 = new SqlParameter("@folderID", folder.folderID.ToString()); SqlParameter param1 = new SqlParameter("@folderID", folder.folderID.ToString());
SqlParameter param2 = new SqlParameter("@parentFolderID", folder.parentID.ToString()); SqlParameter param2 = new SqlParameter("@parentFolderID", folder.parentID.ToString());
SqlParameter param3 = new SqlParameter("@keyFolderID", folder.folderID.ToString()); SqlParameter param3 = new SqlParameter("@keyFolderID", folder.folderID.ToString());
@ -629,8 +630,6 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
} }
} }
/// <summary> /// <summary>
@ -645,7 +644,7 @@ namespace OpenSim.Framework.Data.MSSQL
foreach (InventoryFolderBase f in subfolderList) foreach (InventoryFolderBase f in subfolderList)
folders.Add(f); folders.Add(f);
} }
/// <summary> /// <summary>
/// Returns all child folders in the hierarchy from the parent folder and down /// Returns all child folders in the hierarchy from the parent folder and down
/// </summary> /// </summary>
@ -672,7 +671,6 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand cmd = database.Query("DELETE FROM inventoryfolders WHERE folderID=@folderID", param); IDbCommand cmd = database.Query("DELETE FROM inventoryfolders WHERE folderID=@folderID", param);
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
cmd.Dispose(); cmd.Dispose();
} }
catch (SqlException e) catch (SqlException e)
{ {
@ -689,7 +687,8 @@ namespace OpenSim.Framework.Data.MSSQL
param["parentFolderID"] = folderID.ToString(); param["parentFolderID"] = folderID.ToString();
IDbCommand cmd = database.Query("DELETE FROM inventoryitems WHERE parentFolderID=@parentFolderID", param); IDbCommand cmd =
database.Query("DELETE FROM inventoryitems WHERE parentFolderID=@parentFolderID", param);
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
cmd.Dispose(); cmd.Dispose();
} }
@ -724,4 +723,4 @@ namespace OpenSim.Framework.Data.MSSQL
} }
} }
} }
} }

View File

@ -25,14 +25,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System;
namespace OpenSim.Framework.Data.MSSQL namespace OpenSim.Framework.Data.MSSQL
{ {
/// <summary> /// <summary>
/// An interface to the log database for MySQL /// An interface to the log database for MySQL
/// </summary> /// </summary>
class MSSQLLogData : ILogData internal class MSSQLLogData : ILogData
{ {
/// <summary> /// <summary>
/// The database manager /// The database manager
@ -51,7 +49,9 @@ namespace OpenSim.Framework.Data.MSSQL
string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id"); string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
string settingPassword = GridDataMySqlFile.ParseFileReadValue("password"); string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
settingPassword);
} }
/// <summary> /// <summary>
@ -63,7 +63,8 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="arguments">The arguments passed to the method</param> /// <param name="arguments">The arguments passed to the method</param>
/// <param name="priority">How critical is this?</param> /// <param name="priority">How critical is this?</param>
/// <param name="logMessage">The message to log</param> /// <param name="logMessage">The message to log</param>
public void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage) public void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,
string logMessage)
{ {
try try
{ {
@ -101,4 +102,4 @@ namespace OpenSim.Framework.Data.MSSQL
return "0.1"; return "0.1";
} }
} }
} }

View File

@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
@ -32,7 +33,6 @@ using System.Data.SqlClient;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
namespace OpenSim.Framework.Data.MSSQL namespace OpenSim.Framework.Data.MSSQL
@ -40,12 +40,12 @@ namespace OpenSim.Framework.Data.MSSQL
/// <summary> /// <summary>
/// A management class for the MS SQL Storage Engine /// A management class for the MS SQL Storage Engine
/// </summary> /// </summary>
class MSSQLManager internal class MSSQLManager
{ {
/// <summary> /// <summary>
/// The database connection object /// The database connection object
/// </summary> /// </summary>
IDbConnection dbcon; private IDbConnection dbcon;
/// <summary> /// <summary>
/// Connection string for ADO.net /// Connection string for ADO.net
@ -60,12 +60,14 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="username">The username logging into the database</param> /// <param name="username">The username logging into the database</param>
/// <param name="password">The password for the user logging in</param> /// <param name="password">The password for the user logging in</param>
/// <param name="cpooling">Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.</param> /// <param name="cpooling">Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.</param>
public MSSQLManager(string dataSource, string initialCatalog, string persistSecurityInfo, string userId, string password) public MSSQLManager(string dataSource, string initialCatalog, string persistSecurityInfo, string userId,
string password)
{ {
try try
{ {
connectionString = "Data Source=" + dataSource + ";Initial Catalog=" + initialCatalog +
connectionString = "Data Source=" + dataSource + ";Initial Catalog=" + initialCatalog + ";Persist Security Info=" + persistSecurityInfo + ";User ID=" + userId + ";Password=" + password+";"; ";Persist Security Info=" + persistSecurityInfo + ";User ID=" + userId + ";Password=" +
password + ";";
dbcon = new SqlConnection(connectionString); dbcon = new SqlConnection(connectionString);
TestTables(dbcon); TestTables(dbcon);
dbcon.Open(); dbcon.Open();
@ -78,7 +80,7 @@ namespace OpenSim.Framework.Data.MSSQL
private bool TestTables(IDbConnection conn) private bool TestTables(IDbConnection conn)
{ {
IDbCommand cmd = this.Query("SELECT * FROM regions", new Dictionary<string, string>()); IDbCommand cmd = Query("SELECT * FROM regions", new Dictionary<string, string>());
//SqlCommand cmd = (SqlCommand)dbcon.CreateCommand(); //SqlCommand cmd = (SqlCommand)dbcon.CreateCommand();
//cmd.CommandText = "SELECT * FROM regions"; //cmd.CommandText = "SELECT * FROM regions";
try try
@ -90,7 +92,7 @@ namespace OpenSim.Framework.Data.MSSQL
} }
catch (Exception) catch (Exception)
{ {
MainLog.Instance.Verbose("DATASTORE", "MSSQL Database doesn't exist... creating"); MainLog.Instance.Verbose("DATASTORE", "MSSQL Database doesn't exist... creating");
InitDB(conn); InitDB(conn);
} }
return true; return true;
@ -100,66 +102,66 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
string createRegions = defineTable(createRegionsTable()); string createRegions = defineTable(createRegionsTable());
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
IDbCommand pcmd = this.Query(createRegions, param); IDbCommand pcmd = Query(createRegions, param);
if (conn.State == ConnectionState.Closed) { if (conn.State == ConnectionState.Closed)
{
conn.Open(); conn.Open();
} }
pcmd.ExecuteNonQuery(); pcmd.ExecuteNonQuery();
pcmd.Dispose(); pcmd.Dispose();
this.ExecuteResourceSql("Mssql-users.sql"); ExecuteResourceSql("Mssql-users.sql");
this.ExecuteResourceSql("Mssql-agents.sql"); ExecuteResourceSql("Mssql-agents.sql");
this.ExecuteResourceSql("Mssql-logs.sql"); ExecuteResourceSql("Mssql-logs.sql");
conn.Close(); conn.Close();
} }
private DataTable createRegionsTable() private DataTable createRegionsTable()
{ {
DataTable regions = new DataTable("regions"); DataTable regions = new DataTable("regions");
createCol(regions, "regionHandle", typeof(ulong)); createCol(regions, "regionHandle", typeof (ulong));
createCol(regions, "regionName", typeof(System.String)); createCol(regions, "regionName", typeof (String));
createCol(regions, "uuid", typeof(System.String)); createCol(regions, "uuid", typeof (String));
createCol(regions, "regionRecvKey", typeof(System.String)); createCol(regions, "regionRecvKey", typeof (String));
createCol(regions, "regionSecret", typeof(System.String)); createCol(regions, "regionSecret", typeof (String));
createCol(regions, "regionSendKey", typeof(System.String)); createCol(regions, "regionSendKey", typeof (String));
createCol(regions, "regionDataURI", typeof(System.String)); createCol(regions, "regionDataURI", typeof (String));
createCol(regions, "serverIP", typeof(System.String)); createCol(regions, "serverIP", typeof (String));
createCol(regions, "serverPort", typeof(System.String)); createCol(regions, "serverPort", typeof (String));
createCol(regions, "serverURI", typeof(System.String)); createCol(regions, "serverURI", typeof (String));
createCol(regions, "locX", typeof(uint)); createCol(regions, "locX", typeof (uint));
createCol(regions, "locY", typeof(uint)); createCol(regions, "locY", typeof (uint));
createCol(regions, "locZ", typeof(uint)); createCol(regions, "locZ", typeof (uint));
createCol(regions, "eastOverrideHandle", typeof(ulong)); createCol(regions, "eastOverrideHandle", typeof (ulong));
createCol(regions, "westOverrideHandle", typeof(ulong)); createCol(regions, "westOverrideHandle", typeof (ulong));
createCol(regions, "southOverrideHandle", typeof(ulong)); createCol(regions, "southOverrideHandle", typeof (ulong));
createCol(regions, "northOverrideHandle", typeof(ulong)); createCol(regions, "northOverrideHandle", typeof (ulong));
createCol(regions, "regionAssetURI", typeof(System.String)); createCol(regions, "regionAssetURI", typeof (String));
createCol(regions, "regionAssetRecvKey", typeof(System.String)); createCol(regions, "regionAssetRecvKey", typeof (String));
createCol(regions, "regionAssetSendKey", typeof(System.String)); createCol(regions, "regionAssetSendKey", typeof (String));
createCol(regions, "regionUserURI", typeof(System.String)); createCol(regions, "regionUserURI", typeof (String));
createCol(regions, "regionUserRecvKey", typeof(System.String)); createCol(regions, "regionUserRecvKey", typeof (String));
createCol(regions, "regionUserSendKey", typeof(System.String)); createCol(regions, "regionUserSendKey", typeof (String));
createCol(regions, "regionMapTexture", typeof(System.String)); createCol(regions, "regionMapTexture", typeof (String));
createCol(regions, "serverHttpPort", typeof(System.String)); createCol(regions, "serverHttpPort", typeof (String));
createCol(regions, "serverRemotingPort", typeof(uint)); createCol(regions, "serverRemotingPort", typeof (uint));
// Add in contraints // Add in contraints
regions.PrimaryKey = new DataColumn[] { regions.Columns["UUID"] }; regions.PrimaryKey = new DataColumn[] {regions.Columns["UUID"]};
return regions; return regions;
} }
protected static void createCol(DataTable dt, string name, System.Type type) protected static void createCol(DataTable dt, string name, Type type)
{ {
DataColumn col = new DataColumn(name, type); DataColumn col = new DataColumn(name, type);
dt.Columns.Add(col); dt.Columns.Add(col);
@ -172,10 +174,11 @@ namespace OpenSim.Framework.Data.MSSQL
foreach (DataColumn col in dt.Columns) foreach (DataColumn col in dt.Columns)
{ {
if (subsql.Length > 0) if (subsql.Length > 0)
{ // a map function would rock so much here {
// a map function would rock so much here
subsql += ",\n"; subsql += ",\n";
} }
subsql += col.ColumnName + " " + SqlType(col.DataType); subsql += col.ColumnName + " " + SqlType(col.DataType);
if (col == dt.PrimaryKey[0]) if (col == dt.PrimaryKey[0])
{ {
@ -192,19 +195,19 @@ namespace OpenSim.Framework.Data.MSSQL
// slightly differently. // slightly differently.
private static string SqlType(Type type) private static string SqlType(Type type)
{ {
if (type == typeof(System.String)) if (type == typeof (String))
{ {
return "varchar(255)"; return "varchar(255)";
} }
else if (type == typeof(System.Int32)) else if (type == typeof (Int32))
{ {
return "integer"; return "integer";
} }
else if (type == typeof(System.Double)) else if (type == typeof (Double))
{ {
return "float"; return "float";
} }
else if (type == typeof(System.Byte[])) else if (type == typeof (Byte[]))
{ {
return "image"; return "image";
} }
@ -254,14 +257,14 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>A Sql DB Command</returns> /// <returns>A Sql DB Command</returns>
public IDbCommand Query(string sql, Dictionary<string, string> parameters) public IDbCommand Query(string sql, Dictionary<string, string> parameters)
{ {
SqlCommand dbcommand = (SqlCommand)dbcon.CreateCommand(); SqlCommand dbcommand = (SqlCommand) dbcon.CreateCommand();
dbcommand.CommandText = sql; dbcommand.CommandText = sql;
foreach (KeyValuePair<string, string> param in parameters) foreach (KeyValuePair<string, string> param in parameters)
{ {
dbcommand.Parameters.AddWithValue(param.Key, param.Value); dbcommand.Parameters.AddWithValue(param.Key, param.Value);
} }
return (IDbCommand)dbcommand; return (IDbCommand) dbcommand;
} }
/// <summary> /// <summary>
@ -277,20 +280,20 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
// Region Main // Region Main
regionprofile.regionHandle = Convert.ToUInt64(reader["regionHandle"]); regionprofile.regionHandle = Convert.ToUInt64(reader["regionHandle"]);
regionprofile.regionName = (string)reader["regionName"]; regionprofile.regionName = (string) reader["regionName"];
regionprofile.UUID = new LLUUID((string)reader["uuid"]); regionprofile.UUID = new LLUUID((string) reader["uuid"]);
// Secrets // Secrets
regionprofile.regionRecvKey = (string)reader["regionRecvKey"]; regionprofile.regionRecvKey = (string) reader["regionRecvKey"];
regionprofile.regionSecret = (string)reader["regionSecret"]; regionprofile.regionSecret = (string) reader["regionSecret"];
regionprofile.regionSendKey = (string)reader["regionSendKey"]; regionprofile.regionSendKey = (string) reader["regionSendKey"];
// Region Server // Region Server
regionprofile.regionDataURI = (string)reader["regionDataURI"]; regionprofile.regionDataURI = (string) reader["regionDataURI"];
regionprofile.regionOnline = false; // Needs to be pinged before this can be set. regionprofile.regionOnline = false; // Needs to be pinged before this can be set.
regionprofile.serverIP = (string)reader["serverIP"]; regionprofile.serverIP = (string) reader["serverIP"];
regionprofile.serverPort = Convert.ToUInt32(reader["serverPort"]); regionprofile.serverPort = Convert.ToUInt32(reader["serverPort"]);
regionprofile.serverURI = (string)reader["serverURI"]; regionprofile.serverURI = (string) reader["serverURI"];
regionprofile.httpPort = Convert.ToUInt32(reader["serverHttpPort"]); regionprofile.httpPort = Convert.ToUInt32(reader["serverHttpPort"]);
regionprofile.remotingPort = Convert.ToUInt32(reader["serverRemotingPort"]); regionprofile.remotingPort = Convert.ToUInt32(reader["serverRemotingPort"]);
@ -307,14 +310,14 @@ namespace OpenSim.Framework.Data.MSSQL
regionprofile.regionNorthOverrideHandle = Convert.ToUInt64(reader["northOverrideHandle"]); regionprofile.regionNorthOverrideHandle = Convert.ToUInt64(reader["northOverrideHandle"]);
// Assets // Assets
regionprofile.regionAssetURI = (string)reader["regionAssetURI"]; regionprofile.regionAssetURI = (string) reader["regionAssetURI"];
regionprofile.regionAssetRecvKey = (string)reader["regionAssetRecvKey"]; regionprofile.regionAssetRecvKey = (string) reader["regionAssetRecvKey"];
regionprofile.regionAssetSendKey = (string)reader["regionAssetSendKey"]; regionprofile.regionAssetSendKey = (string) reader["regionAssetSendKey"];
// Userserver // Userserver
regionprofile.regionUserURI = (string)reader["regionUserURI"]; regionprofile.regionUserURI = (string) reader["regionUserURI"];
regionprofile.regionUserRecvKey = (string)reader["regionUserRecvKey"]; regionprofile.regionUserRecvKey = (string) reader["regionUserRecvKey"];
regionprofile.regionUserSendKey = (string)reader["regionUserSendKey"]; regionprofile.regionUserSendKey = (string) reader["regionUserSendKey"];
// World Map Addition // World Map Addition
string tempRegionMap = reader["regionMapTexture"].ToString(); string tempRegionMap = reader["regionMapTexture"].ToString();
@ -331,7 +334,6 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
reader.Close(); reader.Close();
throw new Exception("No rows to return"); throw new Exception("No rows to return");
} }
return regionprofile; return regionprofile;
} }
@ -347,12 +349,12 @@ namespace OpenSim.Framework.Data.MSSQL
if (reader.Read()) if (reader.Read())
{ {
retval.UUID = new LLUUID((string)reader["UUID"]); retval.UUID = new LLUUID((string) reader["UUID"]);
retval.username = (string)reader["username"]; retval.username = (string) reader["username"];
retval.surname = (string)reader["lastname"]; retval.surname = (string) reader["lastname"];
retval.passwordHash = (string)reader["passwordHash"]; retval.passwordHash = (string) reader["passwordHash"];
retval.passwordSalt = (string)reader["passwordSalt"]; retval.passwordSalt = (string) reader["passwordSalt"];
retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString()); retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString());
retval.homeLocation = new LLVector3( retval.homeLocation = new LLVector3(
@ -367,18 +369,17 @@ namespace OpenSim.Framework.Data.MSSQL
retval.created = Convert.ToInt32(reader["created"].ToString()); retval.created = Convert.ToInt32(reader["created"].ToString());
retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString()); retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString());
retval.userInventoryURI = (string)reader["userInventoryURI"]; retval.userInventoryURI = (string) reader["userInventoryURI"];
retval.userAssetURI = (string)reader["userAssetURI"]; retval.userAssetURI = (string) reader["userAssetURI"];
retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString()); retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString());
retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString()); retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString());
retval.profileAboutText = (string)reader["profileAboutText"]; retval.profileAboutText = (string) reader["profileAboutText"];
retval.profileFirstText = (string)reader["profileFirstText"]; retval.profileFirstText = (string) reader["profileFirstText"];
retval.profileImage = new LLUUID((string)reader["profileImage"]);
retval.profileFirstImage = new LLUUID((string)reader["profileFirstImage"]);
retval.profileImage = new LLUUID((string) reader["profileImage"]);
retval.profileFirstImage = new LLUUID((string) reader["profileFirstImage"]);
} }
else else
{ {
@ -399,12 +400,12 @@ namespace OpenSim.Framework.Data.MSSQL
if (reader.Read()) if (reader.Read())
{ {
// Agent IDs // Agent IDs
retval.UUID = new LLUUID((string)reader["UUID"]); retval.UUID = new LLUUID((string) reader["UUID"]);
retval.sessionID = new LLUUID((string)reader["sessionID"]); retval.sessionID = new LLUUID((string) reader["sessionID"]);
retval.secureSessionID = new LLUUID((string)reader["secureSessionID"]); retval.secureSessionID = new LLUUID((string) reader["secureSessionID"]);
// Agent Who? // Agent Who?
retval.agentIP = (string)reader["agentIP"]; retval.agentIP = (string) reader["agentIP"];
retval.agentPort = Convert.ToUInt32(reader["agentPort"].ToString()); retval.agentPort = Convert.ToUInt32(reader["agentPort"].ToString());
retval.agentOnline = Convert.ToBoolean(reader["agentOnline"].ToString()); retval.agentOnline = Convert.ToBoolean(reader["agentOnline"].ToString());
@ -413,9 +414,9 @@ namespace OpenSim.Framework.Data.MSSQL
retval.logoutTime = Convert.ToInt32(reader["logoutTime"].ToString()); retval.logoutTime = Convert.ToInt32(reader["logoutTime"].ToString());
// Current position // Current position
retval.currentRegion = (string)reader["currentRegion"]; retval.currentRegion = (string) reader["currentRegion"];
retval.currentHandle = Convert.ToUInt64(reader["currentHandle"].ToString()); retval.currentHandle = Convert.ToUInt64(reader["currentHandle"].ToString());
LLVector3.TryParse((string)reader["currentPos"], out retval.currentPos); LLVector3.TryParse((string) reader["currentPos"], out retval.currentPos);
} }
else else
{ {
@ -426,20 +427,19 @@ namespace OpenSim.Framework.Data.MSSQL
public AssetBase getAssetRow(IDataReader reader) public AssetBase getAssetRow(IDataReader reader)
{ {
AssetBase asset = new AssetBase(); AssetBase asset = new AssetBase();
if (reader.Read()) if (reader.Read())
{ {
// Region Main // Region Main
asset = new AssetBase(); asset = new AssetBase();
asset.Data = (byte[])reader["data"]; asset.Data = (byte[]) reader["data"];
asset.Description = (string)reader["description"]; asset.Description = (string) reader["description"];
asset.FullID = new LLUUID((string)reader["id"]); asset.FullID = new LLUUID((string) reader["id"]);
asset.InvType = Convert.ToSByte(reader["invType"]); asset.InvType = Convert.ToSByte(reader["invType"]);
asset.Local = Convert.ToBoolean(reader["local"]); // ((sbyte)reader["local"]) != 0 ? true : false; asset.Local = Convert.ToBoolean(reader["local"]); // ((sbyte)reader["local"]) != 0 ? true : false;
asset.Name = (string)reader["name"]; asset.Name = (string) reader["name"];
asset.Type = Convert.ToSByte(reader["assetType"]); asset.Type = Convert.ToSByte(reader["assetType"]);
} }
else else
{ {
@ -455,15 +455,19 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>Successful?</returns> /// <returns>Successful?</returns>
public bool insertRegionRow(RegionProfileData profile) public bool insertRegionRow(RegionProfileData profile)
{ {
//Insert new region //Insert new region
string sql = "INSERT INTO regions ([regionHandle], [regionName], [uuid], [regionRecvKey], [regionSecret], [regionSendKey], [regionDataURI], "; string sql =
sql += "[serverIP], [serverPort], [serverURI], [locX], [locY], [locZ], [eastOverrideHandle], [westOverrideHandle], [southOverrideHandle], [northOverrideHandle], [regionAssetURI], [regionAssetRecvKey], "; "INSERT INTO regions ([regionHandle], [regionName], [uuid], [regionRecvKey], [regionSecret], [regionSendKey], [regionDataURI], ";
sql += "[regionAssetSendKey], [regionUserURI], [regionUserRecvKey], [regionUserSendKey], [regionMapTexture], [serverHttpPort], [serverRemotingPort]) VALUES "; sql +=
"[serverIP], [serverPort], [serverURI], [locX], [locY], [locZ], [eastOverrideHandle], [westOverrideHandle], [southOverrideHandle], [northOverrideHandle], [regionAssetURI], [regionAssetRecvKey], ";
sql +=
"[regionAssetSendKey], [regionUserURI], [regionUserRecvKey], [regionUserSendKey], [regionMapTexture], [serverHttpPort], [serverRemotingPort]) VALUES ";
sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, "; sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, ";
sql += "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, "; sql +=
sql += "@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey, @regionMapTexture, @serverHttpPort, @serverRemotingPort);"; "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, ";
sql +=
"@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey, @regionMapTexture, @serverHttpPort, @serverRemotingPort);";
Dictionary<string, string> parameters = new Dictionary<string, string>(); Dictionary<string, string> parameters = new Dictionary<string, string>();
@ -498,9 +502,9 @@ namespace OpenSim.Framework.Data.MSSQL
bool returnval = false; bool returnval = false;
try try
{ {
IDbCommand result = Query(sql, parameters); IDbCommand result = Query(sql, parameters);
if (result.ExecuteNonQuery() == 1) if (result.ExecuteNonQuery() == 1)
returnval = true; returnval = true;
@ -509,15 +513,12 @@ namespace OpenSim.Framework.Data.MSSQL
catch (Exception e) catch (Exception e)
{ {
MainLog.Instance.Error("MSSQLManager : " + e.ToString()); MainLog.Instance.Error("MSSQLManager : " + e.ToString());
} }
return returnval; return returnval;
} }
/// <summary> /// <summary>
/// Inserts a new row into the log database /// Inserts a new row into the log database
/// </summary> /// </summary>
@ -528,7 +529,8 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="priority">How critical is this?</param> /// <param name="priority">How critical is this?</param>
/// <param name="logMessage">Extra message info</param> /// <param name="logMessage">Extra message info</param>
/// <returns>Saved successfully?</returns> /// <returns>Saved successfully?</returns>
public bool insertLogRow(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage) public bool insertLogRow(string serverDaemon, string target, string methodCall, string arguments, int priority,
string logMessage)
{ {
string sql = "INSERT INTO logs ([target], [server], [method], [arguments], [priority], [message]) VALUES "; string sql = "INSERT INTO logs ([target], [server], [method], [arguments], [priority], [message]) VALUES ";
sql += "(@target, @server, @method, @arguments, @priority, @message);"; sql += "(@target, @server, @method, @arguments, @priority, @message);";
@ -588,19 +590,26 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="profileImage">UUID for profile image</param> /// <param name="profileImage">UUID for profile image</param>
/// <param name="firstImage">UUID for firstlife image</param> /// <param name="firstImage">UUID for firstlife image</param>
/// <returns>Success?</returns> /// <returns>Success?</returns>
public bool insertUserRow(libsecondlife.LLUUID uuid, string username, string lastname, string passwordHash, string passwordSalt, UInt64 homeRegion, float homeLocX, float homeLocY, float homeLocZ, public bool insertUserRow(LLUUID uuid, string username, string lastname, string passwordHash,
float homeLookAtX, float homeLookAtY, float homeLookAtZ, int created, int lastlogin, string inventoryURI, string assetURI, uint canDoMask, uint wantDoMask, string aboutText, string firstText, string passwordSalt, UInt64 homeRegion, float homeLocX, float homeLocY, float homeLocZ,
libsecondlife.LLUUID profileImage, libsecondlife.LLUUID firstImage) float homeLookAtX, float homeLookAtY, float homeLookAtZ, int created, int lastlogin,
string inventoryURI, string assetURI, uint canDoMask, uint wantDoMask,
string aboutText, string firstText,
LLUUID profileImage, LLUUID firstImage)
{ {
string sql = "INSERT INTO users "; string sql = "INSERT INTO users ";
sql += "([UUID], [username], [lastname], [passwordHash], [passwordSalt], [homeRegion], "; sql += "([UUID], [username], [lastname], [passwordHash], [passwordSalt], [homeRegion], ";
sql += "[homeLocationX], [homeLocationY], [homeLocationZ], [homeLookAtX], [homeLookAtY], [homeLookAtZ], [created], "; sql +=
sql += "[lastLogin], [userInventoryURI], [userAssetURI], [profileCanDoMask], [profileWantDoMask], [profileAboutText], "; "[homeLocationX], [homeLocationY], [homeLocationZ], [homeLookAtX], [homeLookAtY], [homeLookAtZ], [created], ";
sql +=
"[lastLogin], [userInventoryURI], [userAssetURI], [profileCanDoMask], [profileWantDoMask], [profileAboutText], ";
sql += "[profileFirstText], [profileImage], [profileFirstImage]) VALUES "; sql += "[profileFirstText], [profileImage], [profileFirstImage]) VALUES ";
sql += "(@UUID, @username, @lastname, @passwordHash, @passwordSalt, @homeRegion, "; sql += "(@UUID, @username, @lastname, @passwordHash, @passwordSalt, @homeRegion, ";
sql += "@homeLocationX, @homeLocationY, @homeLocationZ, @homeLookAtX, @homeLookAtY, @homeLookAtZ, @created, "; sql +=
sql += "@lastLogin, @userInventoryURI, @userAssetURI, @profileCanDoMask, @profileWantDoMask, @profileAboutText, "; "@homeLocationX, @homeLocationY, @homeLocationZ, @homeLookAtX, @homeLookAtY, @homeLookAtZ, @created, ";
sql +=
"@lastLogin, @userInventoryURI, @userAssetURI, @profileCanDoMask, @profileWantDoMask, @profileAboutText, ";
sql += "@profileFirstText, @profileImage, @profileFirstImage);"; sql += "@profileFirstText, @profileImage, @profileFirstImage);";
Dictionary<string, string> parameters = new Dictionary<string, string>(); Dictionary<string, string> parameters = new Dictionary<string, string>();
@ -624,13 +633,13 @@ namespace OpenSim.Framework.Data.MSSQL
parameters["profileWantDoMask"] = "0"; parameters["profileWantDoMask"] = "0";
parameters["profileAboutText"] = ""; parameters["profileAboutText"] = "";
parameters["profileFirstText"] = ""; parameters["profileFirstText"] = "";
parameters["profileImage"] = libsecondlife.LLUUID.Zero.ToString(); parameters["profileImage"] = LLUUID.Zero.ToString();
parameters["profileFirstImage"] = libsecondlife.LLUUID.Zero.ToString(); parameters["profileFirstImage"] = LLUUID.Zero.ToString();
bool returnval = false; bool returnval = false;
try try
{ {
IDbCommand result = Query(sql, parameters); IDbCommand result = Query(sql, parameters);
if (result.ExecuteNonQuery() == 1) if (result.ExecuteNonQuery() == 1)
@ -655,8 +664,7 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
try try
{ {
SqlCommand cmd = new SqlCommand(getResourceString(name), (SqlConnection) dbcon);
SqlCommand cmd = new SqlCommand(getResourceString(name), (SqlConnection)dbcon);
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
cmd.Dispose(); cmd.Dispose();
} }
@ -668,7 +676,7 @@ namespace OpenSim.Framework.Data.MSSQL
public SqlConnection getConnection() public SqlConnection getConnection()
{ {
return (SqlConnection)dbcon; return (SqlConnection) dbcon;
} }
/// <summary> /// <summary>
@ -681,14 +689,15 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["dbname"] = dbcon.Database; param["dbname"] = dbcon.Database;
IDbCommand tablesCmd = this.Query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_CATALOG=@dbname", param); IDbCommand tablesCmd =
Query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_CATALOG=@dbname", param);
using (IDataReader tables = tablesCmd.ExecuteReader()) using (IDataReader tables = tablesCmd.ExecuteReader())
{ {
while (tables.Read()) while (tables.Read())
{ {
try try
{ {
string tableName = (string)tables["TABLE_NAME"]; string tableName = (string) tables["TABLE_NAME"];
if (tableList.ContainsKey(tableName)) if (tableList.ContainsKey(tableName))
tableList[tableName] = tableName; tableList[tableName] = tableName;
} }
@ -704,7 +713,7 @@ namespace OpenSim.Framework.Data.MSSQL
private string getResourceString(string name) private string getResourceString(string name)
{ {
Assembly assem = this.GetType().Assembly; Assembly assem = GetType().Assembly;
string[] names = assem.GetManifestResourceNames(); string[] names = assem.GetManifestResourceNames();
foreach (string s in names) foreach (string s in names)
@ -726,16 +735,14 @@ namespace OpenSim.Framework.Data.MSSQL
/// <returns>A string containing the DB provider</returns> /// <returns>A string containing the DB provider</returns>
public string getVersion() public string getVersion()
{ {
System.Reflection.Module module = this.GetType().Module; Module module = GetType().Module;
string dllName = module.Assembly.ManifestModule.Name; string dllName = module.Assembly.ManifestModule.Name;
Version dllVersion = module.Assembly.GetName().Version; Version dllVersion = module.Assembly.GetName().Version;
return string.Format("{0}.{1}.{2}.{3}", dllVersion.Major, dllVersion.Minor, dllVersion.Build, dllVersion.Revision); return
string.Format("{0}.{1}.{2}.{3}", dllVersion.Major, dllVersion.Minor, dllVersion.Build,
dllVersion.Revision);
} }
} }
}
}

View File

@ -37,7 +37,7 @@ namespace OpenSim.Framework.Data.MSSQL
/// <summary> /// <summary>
/// A database interface class to a user profile storage system /// A database interface class to a user profile storage system
/// </summary> /// </summary>
class MSSQLUserData : IUserData internal class MSSQLUserData : IUserData
{ {
/// <summary> /// <summary>
/// Database manager for MySQL /// Database manager for MySQL
@ -58,7 +58,9 @@ namespace OpenSim.Framework.Data.MSSQL
string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id"); string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
string settingPassword = GridDataMySqlFile.ParseFileReadValue("password"); string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
settingPassword);
} }
/// <summary> /// <summary>
@ -77,11 +79,12 @@ namespace OpenSim.Framework.Data.MSSQL
param["first"] = user; param["first"] = user;
param["second"] = last; param["second"] = last;
IDbCommand result = database.Query("SELECT * FROM users WHERE username = @first AND lastname = @second", param); IDbCommand result =
database.Query("SELECT * FROM users WHERE username = @first AND lastname = @second", param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
UserProfileData row = database.readUserRow(reader); UserProfileData row = database.readUserRow(reader);
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -96,9 +99,9 @@ namespace OpenSim.Framework.Data.MSSQL
} }
} }
public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
string[] querysplit; string[] querysplit;
querysplit = query.Split(' '); querysplit = query.Split(' ');
if (querysplit.Length == 2) if (querysplit.Length == 2)
@ -112,18 +115,19 @@ namespace OpenSim.Framework.Data.MSSQL
param["second"] = querysplit[1]; param["second"] = querysplit[1];
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username = @first AND lastname = @second", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username = @first AND lastname = @second",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -135,13 +139,9 @@ namespace OpenSim.Framework.Data.MSSQL
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
return returnlist; return returnlist;
} }
} }
else if (querysplit.Length == 1) else if (querysplit.Length == 1)
{ {
try try
{ {
lock (database) lock (database)
@ -151,18 +151,19 @@ namespace OpenSim.Framework.Data.MSSQL
param["second"] = querysplit[1]; param["second"] = querysplit[1];
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username = @first OR lastname = @second", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username = @first OR lastname = @second",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -268,21 +269,25 @@ namespace OpenSim.Framework.Data.MSSQL
/// <param name="user">The user profile to create</param> /// <param name="user">The user profile to create</param>
public void AddNewUserProfile(UserProfileData user) public void AddNewUserProfile(UserProfileData user)
{ {
try try
{ {
lock (database) lock (database)
{ {
database.insertUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt, user.homeRegion, user.homeLocation.X, user.homeLocation.Y, user.homeLocation.Z, database.insertUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt,
user.homeLookAt.X, user.homeLookAt.Y, user.homeLookAt.Z, user.created, user.lastLogin, user.userInventoryURI, user.userAssetURI, user.profileCanDoMask, user.profileWantDoMask, user.homeRegion, user.homeLocation.X, user.homeLocation.Y,
user.profileAboutText, user.profileFirstText, user.profileImage, user.profileFirstImage); user.homeLocation.Z,
} user.homeLookAt.X, user.homeLookAt.Y, user.homeLookAt.Z, user.created,
} user.lastLogin, user.userInventoryURI, user.userAssetURI,
catch (Exception e) user.profileCanDoMask, user.profileWantDoMask,
{ user.profileAboutText, user.profileFirstText, user.profileImage,
database.Reconnect(); user.profileFirstImage);
MainLog.Instance.Error(e.ToString()); }
} }
catch (Exception e)
{
database.Reconnect();
MainLog.Instance.Error(e.ToString());
}
} }
/// <summary> /// <summary>
@ -293,34 +298,33 @@ namespace OpenSim.Framework.Data.MSSQL
{ {
// Do nothing. // Do nothing.
} }
public bool UpdateUserProfile(UserProfileData user) public bool UpdateUserProfile(UserProfileData user)
{ {
SqlCommand command = new SqlCommand("UPDATE users set UUID = @uuid, " + SqlCommand command = new SqlCommand("UPDATE users set UUID = @uuid, " +
"username = @username, " + "username = @username, " +
"lastname = @lastname," + "lastname = @lastname," +
"passwordHash = @passwordHash," + "passwordHash = @passwordHash," +
"passwordSalt = @passwordSalt," + "passwordSalt = @passwordSalt," +
"homeRegion = @homeRegion," + "homeRegion = @homeRegion," +
"homeLocationX = @homeLocationX," + "homeLocationX = @homeLocationX," +
"homeLocationY = @homeLocationY," + "homeLocationY = @homeLocationY," +
"homeLocationZ = @homeLocationZ," + "homeLocationZ = @homeLocationZ," +
"homeLookAtX = @homeLookAtX," + "homeLookAtX = @homeLookAtX," +
"homeLookAtY = @homeLookAtY," + "homeLookAtY = @homeLookAtY," +
"homeLookAtZ = @homeLookAtZ," + "homeLookAtZ = @homeLookAtZ," +
"created = @created," + "created = @created," +
"lastLogin = @lastLogin," + "lastLogin = @lastLogin," +
"userInventoryURI = @userInventoryURI," + "userInventoryURI = @userInventoryURI," +
"userAssetURI = @userAssetURI," + "userAssetURI = @userAssetURI," +
"profileCanDoMask = @profileCanDoMask," + "profileCanDoMask = @profileCanDoMask," +
"profileWantDoMask = @profileWantDoMask," + "profileWantDoMask = @profileWantDoMask," +
"profileAboutText = @profileAboutText," + "profileAboutText = @profileAboutText," +
"profileFirstText = @profileFirstText," + "profileFirstText = @profileFirstText," +
"profileImage = @profileImage," + "profileImage = @profileImage," +
"profileFirstImage = @profileFirstImage where " + "profileFirstImage = @profileFirstImage where " +
"UUID = @keyUUUID;", database.getConnection()); "UUID = @keyUUUID;", database.getConnection());
SqlParameter param1 = new SqlParameter("@uuid", user.UUID.ToString()); SqlParameter param1 = new SqlParameter("@uuid", user.UUID.ToString());
SqlParameter param2 = new SqlParameter("@username", user.username); SqlParameter param2 = new SqlParameter("@username", user.username);
SqlParameter param3 = new SqlParameter("@lastname", user.surname); SqlParameter param3 = new SqlParameter("@lastname", user.surname);
@ -341,8 +345,8 @@ namespace OpenSim.Framework.Data.MSSQL
SqlParameter param18 = new SqlParameter("@profileWantDoMask", Convert.ToInt32(user.profileWantDoMask)); SqlParameter param18 = new SqlParameter("@profileWantDoMask", Convert.ToInt32(user.profileWantDoMask));
SqlParameter param19 = new SqlParameter("@profileAboutText", user.profileAboutText); SqlParameter param19 = new SqlParameter("@profileAboutText", user.profileAboutText);
SqlParameter param20 = new SqlParameter("@profileFirstText", user.profileFirstText); SqlParameter param20 = new SqlParameter("@profileFirstText", user.profileFirstText);
SqlParameter param21 = new SqlParameter("@profileImage", libsecondlife.LLUUID.Zero.ToString()); SqlParameter param21 = new SqlParameter("@profileImage", LLUUID.Zero.ToString());
SqlParameter param22 = new SqlParameter("@profileFirstImage", libsecondlife.LLUUID.Zero.ToString()); SqlParameter param22 = new SqlParameter("@profileFirstImage", LLUUID.Zero.ToString());
SqlParameter param23 = new SqlParameter("@keyUUUID", user.UUID.ToString()); SqlParameter param23 = new SqlParameter("@keyUUUID", user.UUID.ToString());
command.Parameters.Add(param1); command.Parameters.Add(param1);
command.Parameters.Add(param2); command.Parameters.Add(param2);
@ -370,9 +374,12 @@ namespace OpenSim.Framework.Data.MSSQL
try try
{ {
int affected = command.ExecuteNonQuery(); int affected = command.ExecuteNonQuery();
if (affected != 0) { if (affected != 0)
{
return true; return true;
} else { }
else
{
return false; return false;
} }
} }
@ -433,6 +440,5 @@ namespace OpenSim.Framework.Data.MSSQL
public void runQuery(string query) public void runQuery(string query)
{ {
} }
} }
} }

View File

@ -83,13 +83,13 @@ namespace OpenSim.Framework.Data.MySQL
if (dbReader.Read()) if (dbReader.Read())
{ {
asset = new AssetBase(); asset = new AssetBase();
asset.Data = (byte[])dbReader["data"]; asset.Data = (byte[]) dbReader["data"];
asset.Description = (string)dbReader["description"]; asset.Description = (string) dbReader["description"];
asset.FullID = assetID; asset.FullID = assetID;
asset.InvType = (sbyte)dbReader["invType"]; asset.InvType = (sbyte) dbReader["invType"];
asset.Local = ((sbyte)dbReader["local"]) != 0 ? true : false; asset.Local = ((sbyte) dbReader["local"]) != 0 ? true : false;
asset.Name = (string)dbReader["name"]; asset.Name = (string) dbReader["name"];
asset.Type = (sbyte)dbReader["assetType"]; asset.Type = (sbyte) dbReader["assetType"];
} }
dbReader.Close(); dbReader.Close();
cmd.Dispose(); cmd.Dispose();
@ -98,7 +98,7 @@ namespace OpenSim.Framework.Data.MySQL
catch (Exception) catch (Exception)
{ {
MainLog.Instance.Warn("ASSETS", "MySql failure fetching asset"); MainLog.Instance.Warn("ASSETS", "MySql failure fetching asset");
} }
} }
return asset; return asset;
} }

View File

@ -31,15 +31,12 @@ using System.Collections.Generic;
using System.Data; using System.Data;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Text;
using libsecondlife; using libsecondlife;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.LandManagement; using OpenSim.Region.Environment.LandManagement;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
using System.Data.SqlClient;
using System.Data.Common;
namespace OpenSim.Framework.Data.MySQL namespace OpenSim.Framework.Data.MySQL
{ {
@ -130,7 +127,7 @@ namespace OpenSim.Framework.Data.MySQL
{ {
foreach (SceneObjectPart prim in obj.Children.Values) foreach (SceneObjectPart prim in obj.Children.Values)
{ {
if ((prim.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == 0) if ((prim.ObjectFlags & (uint) LLObject.ObjectFlags.Physics) == 0)
{ {
MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID); MainLog.Instance.Verbose("DATASTORE", "Adding obj: " + obj.UUID + " to region: " + regionUUID);
addPrim(prim, obj.UUID, regionUUID); addPrim(prim, obj.UUID, regionUUID);
@ -156,7 +153,7 @@ namespace OpenSim.Framework.Data.MySQL
DataRow[] primRows = prims.Select(selectExp); DataRow[] primRows = prims.Select(selectExp);
foreach (DataRow row in primRows) foreach (DataRow row in primRows)
{ {
LLUUID uuid = new LLUUID((string)row["UUID"]); LLUUID uuid = new LLUUID((string) row["UUID"]);
DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(uuid)); DataRow shapeRow = shapes.Rows.Find(Util.ToRawUuidString(uuid));
if (shapeRow != null) if (shapeRow != null)
{ {
@ -191,8 +188,8 @@ namespace OpenSim.Framework.Data.MySQL
{ {
try try
{ {
string uuid = (string)primRow["UUID"]; string uuid = (string) primRow["UUID"];
string objID = (string)primRow["SceneGroupID"]; string objID = (string) primRow["SceneGroupID"];
if (uuid == objID) //is new SceneObjectGroup ? if (uuid == objID) //is new SceneObjectGroup ?
{ {
SceneObjectGroup group = new SceneObjectGroup(); SceneObjectGroup group = new SceneObjectGroup();
@ -255,10 +252,9 @@ namespace OpenSim.Framework.Data.MySQL
lock (m_dataSet) lock (m_dataSet)
{ {
MySqlCommand cmd = new MySqlCommand("insert into terrain(RegionUUID, Revision, Heightfield)" + MySqlCommand cmd = new MySqlCommand("insert into terrain(RegionUUID, Revision, Heightfield)" +
" values(?RegionUUID, ?Revision, ?Heightfield)", m_connection); " values(?RegionUUID, ?Revision, ?Heightfield)", m_connection);
using (cmd) using (cmd)
{ {
cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID)));
cmd.Parameters.Add(new MySqlParameter("?Revision", revision)); cmd.Parameters.Add(new MySqlParameter("?Revision", revision));
cmd.Parameters.Add(new MySqlParameter("?Heightfield", serializeTerrain(ter))); cmd.Parameters.Add(new MySqlParameter("?Heightfield", serializeTerrain(ter)));
@ -269,7 +265,7 @@ namespace OpenSim.Framework.Data.MySQL
public double[,] LoadTerrain(LLUUID regionID) public double[,] LoadTerrain(LLUUID regionID)
{ {
double[,] terret = new double[256, 256]; double[,] terret = new double[256,256];
terret.Initialize(); terret.Initialize();
MySqlCommand cmd = new MySqlCommand( MySqlCommand cmd = new MySqlCommand(
@ -278,7 +274,7 @@ namespace OpenSim.Framework.Data.MySQL
, m_connection); , m_connection);
MySqlParameter param = new MySqlParameter(); MySqlParameter param = new MySqlParameter();
cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID))); cmd.Parameters.Add(new MySqlParameter("?RegionUUID", Util.ToRawUuidString(regionID)));
if (m_connection.State != ConnectionState.Open) if (m_connection.State != ConnectionState.Open)
{ {
@ -290,15 +286,15 @@ namespace OpenSim.Framework.Data.MySQL
int rev = 0; int rev = 0;
if (row.Read()) if (row.Read())
{ {
byte[] heightmap = (byte[])row["Heightfield"]; byte[] heightmap = (byte[]) row["Heightfield"];
for (int x = 0; x < 256; x++) for (int x = 0; x < 256; x++)
{ {
for (int y = 0; y < 256; y++) for (int y = 0; y < 256; y++)
{ {
terret[x, y] = BitConverter.ToDouble(heightmap, ((x * 256) + y) * 8); terret[x, y] = BitConverter.ToDouble(heightmap, ((x*256) + y)*8);
} }
} }
rev = (int)row["Revision"]; rev = (int) row["Revision"];
} }
else else
{ {
@ -322,7 +318,9 @@ namespace OpenSim.Framework.Data.MySQL
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
} }
using (MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?UUID", m_connection)) using (
MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?UUID", m_connection)
)
{ {
cmd.Parameters.Add(new MySqlParameter("?UUID", Util.ToRawUuidString(globalID))); cmd.Parameters.Add(new MySqlParameter("?UUID", Util.ToRawUuidString(globalID)));
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
@ -336,7 +334,7 @@ namespace OpenSim.Framework.Data.MySQL
{ {
DataTable land = m_landTable; DataTable land = m_landTable;
DataTable landaccesslist = m_landAccessListTable; DataTable landaccesslist = m_landAccessListTable;
DataRow landRow = land.Rows.Find(Util.ToRawUuidString(parcel.landData.globalID)); DataRow landRow = land.Rows.Find(Util.ToRawUuidString(parcel.landData.globalID));
if (landRow == null) if (landRow == null)
{ {
@ -349,7 +347,9 @@ namespace OpenSim.Framework.Data.MySQL
fillLandRow(landRow, parcel.landData, regionUUID); fillLandRow(landRow, parcel.landData, regionUUID);
} }
using (MySqlCommand cmd = new MySqlCommand("delete from landaccesslist where LandUUID=?LandUUID", m_connection)) using (
MySqlCommand cmd =
new MySqlCommand("delete from landaccesslist where LandUUID=?LandUUID", m_connection))
{ {
cmd.Parameters.Add(new MySqlParameter("?LandUUID", Util.ToRawUuidString(parcel.landData.globalID))); cmd.Parameters.Add(new MySqlParameter("?LandUUID", Util.ToRawUuidString(parcel.landData.globalID)));
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
@ -361,13 +361,12 @@ namespace OpenSim.Framework.Data.MySQL
fillLandAccessRow(newAccessRow, entry, parcel.landData.globalID); fillLandAccessRow(newAccessRow, entry, parcel.landData.globalID);
landaccesslist.Rows.Add(newAccessRow); landaccesslist.Rows.Add(newAccessRow);
} }
} }
Commit(); Commit();
} }
public List<Framework.LandData> LoadLandObjects(LLUUID regionUUID) public List<LandData> LoadLandObjects(LLUUID regionUUID)
{ {
List<LandData> landDataForRegion = new List<LandData>(); List<LandData> landDataForRegion = new List<LandData>();
lock (m_dataSet) lock (m_dataSet)
@ -403,7 +402,7 @@ namespace OpenSim.Framework.Data.MySQL
foreach (DataRow row in table.Rows) foreach (DataRow row in table.Rows)
{ {
//--- Display the original values, if there are any. //--- Display the original values, if there are any.
if (row.HasVersion(System.Data.DataRowVersion.Original)) if (row.HasVersion(DataRowVersion.Original))
{ {
Debug.Write("Original Row Values ===> "); Debug.Write("Original Row Values ===> ");
foreach (DataColumn column in table.Columns) foreach (DataColumn column in table.Columns)
@ -412,7 +411,7 @@ namespace OpenSim.Framework.Data.MySQL
Debug.WriteLine(""); Debug.WriteLine("");
} }
//--- Display the current values, if there are any. //--- Display the current values, if there are any.
if (row.HasVersion(System.Data.DataRowVersion.Current)) if (row.HasVersion(DataRowVersion.Current))
{ {
Debug.Write("Current Row Values ====> "); Debug.Write("Current Row Values ====> ");
foreach (DataColumn column in table.Columns) foreach (DataColumn column in table.Columns)
@ -470,9 +469,9 @@ namespace OpenSim.Framework.Data.MySQL
{ {
DataTable terrain = new DataTable("terrain"); DataTable terrain = new DataTable("terrain");
createCol(terrain, "RegionUUID", typeof(String)); createCol(terrain, "RegionUUID", typeof (String));
createCol(terrain, "Revision", typeof(Int32)); createCol(terrain, "Revision", typeof (Int32));
DataColumn heightField = createCol(terrain, "Heightfield", typeof(Byte[])); DataColumn heightField = createCol(terrain, "Heightfield", typeof (Byte[]));
return terrain; return terrain;
} }
@ -480,62 +479,62 @@ namespace OpenSim.Framework.Data.MySQL
{ {
DataTable prims = new DataTable("prims"); DataTable prims = new DataTable("prims");
createCol(prims, "UUID", typeof(String)); createCol(prims, "UUID", typeof (String));
createCol(prims, "RegionUUID", typeof(String)); createCol(prims, "RegionUUID", typeof (String));
createCol(prims, "ParentID", typeof(Int32)); createCol(prims, "ParentID", typeof (Int32));
createCol(prims, "CreationDate", typeof(Int32)); createCol(prims, "CreationDate", typeof (Int32));
createCol(prims, "Name", typeof(String)); createCol(prims, "Name", typeof (String));
createCol(prims, "SceneGroupID", typeof(String)); createCol(prims, "SceneGroupID", typeof (String));
// various text fields // various text fields
createCol(prims, "Text", typeof(String)); createCol(prims, "Text", typeof (String));
createCol(prims, "Description", typeof(String)); createCol(prims, "Description", typeof (String));
createCol(prims, "SitName", typeof(String)); createCol(prims, "SitName", typeof (String));
createCol(prims, "TouchName", typeof(String)); createCol(prims, "TouchName", typeof (String));
// permissions // permissions
createCol(prims, "ObjectFlags", typeof(Int32)); createCol(prims, "ObjectFlags", typeof (Int32));
createCol(prims, "CreatorID", typeof(String)); createCol(prims, "CreatorID", typeof (String));
createCol(prims, "OwnerID", typeof(String)); createCol(prims, "OwnerID", typeof (String));
createCol(prims, "GroupID", typeof(String)); createCol(prims, "GroupID", typeof (String));
createCol(prims, "LastOwnerID", typeof(String)); createCol(prims, "LastOwnerID", typeof (String));
createCol(prims, "OwnerMask", typeof(Int32)); createCol(prims, "OwnerMask", typeof (Int32));
createCol(prims, "NextOwnerMask", typeof(Int32)); createCol(prims, "NextOwnerMask", typeof (Int32));
createCol(prims, "GroupMask", typeof(Int32)); createCol(prims, "GroupMask", typeof (Int32));
createCol(prims, "EveryoneMask", typeof(Int32)); createCol(prims, "EveryoneMask", typeof (Int32));
createCol(prims, "BaseMask", typeof(Int32)); createCol(prims, "BaseMask", typeof (Int32));
// vectors // vectors
createCol(prims, "PositionX", typeof(Double)); createCol(prims, "PositionX", typeof (Double));
createCol(prims, "PositionY", typeof(Double)); createCol(prims, "PositionY", typeof (Double));
createCol(prims, "PositionZ", typeof(Double)); createCol(prims, "PositionZ", typeof (Double));
createCol(prims, "GroupPositionX", typeof(Double)); createCol(prims, "GroupPositionX", typeof (Double));
createCol(prims, "GroupPositionY", typeof(Double)); createCol(prims, "GroupPositionY", typeof (Double));
createCol(prims, "GroupPositionZ", typeof(Double)); createCol(prims, "GroupPositionZ", typeof (Double));
createCol(prims, "VelocityX", typeof(Double)); createCol(prims, "VelocityX", typeof (Double));
createCol(prims, "VelocityY", typeof(Double)); createCol(prims, "VelocityY", typeof (Double));
createCol(prims, "VelocityZ", typeof(Double)); createCol(prims, "VelocityZ", typeof (Double));
createCol(prims, "AngularVelocityX", typeof(Double)); createCol(prims, "AngularVelocityX", typeof (Double));
createCol(prims, "AngularVelocityY", typeof(Double)); createCol(prims, "AngularVelocityY", typeof (Double));
createCol(prims, "AngularVelocityZ", typeof(Double)); createCol(prims, "AngularVelocityZ", typeof (Double));
createCol(prims, "AccelerationX", typeof(Double)); createCol(prims, "AccelerationX", typeof (Double));
createCol(prims, "AccelerationY", typeof(Double)); createCol(prims, "AccelerationY", typeof (Double));
createCol(prims, "AccelerationZ", typeof(Double)); createCol(prims, "AccelerationZ", typeof (Double));
// quaternions // quaternions
createCol(prims, "RotationX", typeof(Double)); createCol(prims, "RotationX", typeof (Double));
createCol(prims, "RotationY", typeof(Double)); createCol(prims, "RotationY", typeof (Double));
createCol(prims, "RotationZ", typeof(Double)); createCol(prims, "RotationZ", typeof (Double));
createCol(prims, "RotationW", typeof(Double)); createCol(prims, "RotationW", typeof (Double));
// sit target // sit target
createCol(prims, "SitTargetOffsetX", typeof(Double)); createCol(prims, "SitTargetOffsetX", typeof (Double));
createCol(prims, "SitTargetOffsetY", typeof(Double)); createCol(prims, "SitTargetOffsetY", typeof (Double));
createCol(prims, "SitTargetOffsetZ", typeof(Double)); createCol(prims, "SitTargetOffsetZ", typeof (Double));
createCol(prims, "SitTargetOrientW", typeof(Double)); createCol(prims, "SitTargetOrientW", typeof (Double));
createCol(prims, "SitTargetOrientX", typeof(Double)); createCol(prims, "SitTargetOrientX", typeof (Double));
createCol(prims, "SitTargetOrientY", typeof(Double)); createCol(prims, "SitTargetOrientY", typeof (Double));
createCol(prims, "SitTargetOrientZ", typeof(Double)); createCol(prims, "SitTargetOrientZ", typeof (Double));
// Add in contraints // Add in contraints
prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; prims.PrimaryKey = new DataColumn[] {prims.Columns["UUID"]};
return prims; return prims;
} }
@ -543,42 +542,42 @@ namespace OpenSim.Framework.Data.MySQL
private DataTable createLandTable() private DataTable createLandTable()
{ {
DataTable land = new DataTable("land"); DataTable land = new DataTable("land");
createCol(land, "UUID", typeof(String)); createCol(land, "UUID", typeof (String));
createCol(land, "RegionUUID", typeof(String)); createCol(land, "RegionUUID", typeof (String));
createCol(land, "LocalLandID", typeof(Int32)); createCol(land, "LocalLandID", typeof (Int32));
// Bitmap is a byte[512] // Bitmap is a byte[512]
createCol(land, "Bitmap", typeof(Byte[])); createCol(land, "Bitmap", typeof (Byte[]));
createCol(land, "Name", typeof(String)); createCol(land, "Name", typeof (String));
createCol(land, "Description", typeof(String)); createCol(land, "Description", typeof (String));
createCol(land, "OwnerUUID", typeof(String)); createCol(land, "OwnerUUID", typeof (String));
createCol(land, "IsGroupOwned", typeof(Int32)); createCol(land, "IsGroupOwned", typeof (Int32));
createCol(land, "Area", typeof(Int32)); createCol(land, "Area", typeof (Int32));
createCol(land, "AuctionID", typeof(Int32)); //Unemplemented createCol(land, "AuctionID", typeof (Int32)); //Unemplemented
createCol(land, "Category", typeof(Int32)); //Enum libsecondlife.Parcel.ParcelCategory createCol(land, "Category", typeof (Int32)); //Enum libsecondlife.Parcel.ParcelCategory
createCol(land, "ClaimDate", typeof(Int32)); createCol(land, "ClaimDate", typeof (Int32));
createCol(land, "ClaimPrice", typeof(Int32)); createCol(land, "ClaimPrice", typeof (Int32));
createCol(land, "GroupUUID", typeof(String)); createCol(land, "GroupUUID", typeof (String));
createCol(land, "SalePrice", typeof(Int32)); createCol(land, "SalePrice", typeof (Int32));
createCol(land, "LandStatus", typeof(Int32)); //Enum. libsecondlife.Parcel.ParcelStatus createCol(land, "LandStatus", typeof (Int32)); //Enum. libsecondlife.Parcel.ParcelStatus
createCol(land, "LandFlags", typeof(Int32)); createCol(land, "LandFlags", typeof (Int32));
createCol(land, "LandingType", typeof(Int32)); createCol(land, "LandingType", typeof (Int32));
createCol(land, "MediaAutoScale", typeof(Int32)); createCol(land, "MediaAutoScale", typeof (Int32));
createCol(land, "MediaTextureUUID", typeof(String)); createCol(land, "MediaTextureUUID", typeof (String));
createCol(land, "MediaURL", typeof(String)); createCol(land, "MediaURL", typeof (String));
createCol(land, "MusicURL", typeof(String)); createCol(land, "MusicURL", typeof (String));
createCol(land, "PassHours", typeof(Double)); createCol(land, "PassHours", typeof (Double));
createCol(land, "PassPrice", typeof(Int32)); createCol(land, "PassPrice", typeof (Int32));
createCol(land, "SnapshotUUID", typeof(String)); createCol(land, "SnapshotUUID", typeof (String));
createCol(land, "UserLocationX", typeof(Double)); createCol(land, "UserLocationX", typeof (Double));
createCol(land, "UserLocationY", typeof(Double)); createCol(land, "UserLocationY", typeof (Double));
createCol(land, "UserLocationZ", typeof(Double)); createCol(land, "UserLocationZ", typeof (Double));
createCol(land, "UserLookAtX", typeof(Double)); createCol(land, "UserLookAtX", typeof (Double));
createCol(land, "UserLookAtY", typeof(Double)); createCol(land, "UserLookAtY", typeof (Double));
createCol(land, "UserLookAtZ", typeof(Double)); createCol(land, "UserLookAtZ", typeof (Double));
land.PrimaryKey = new DataColumn[] { land.Columns["UUID"] }; land.PrimaryKey = new DataColumn[] {land.Columns["UUID"]};
return land; return land;
} }
@ -586,9 +585,9 @@ namespace OpenSim.Framework.Data.MySQL
private DataTable createLandAccessListTable() private DataTable createLandAccessListTable()
{ {
DataTable landaccess = new DataTable("landaccesslist"); DataTable landaccess = new DataTable("landaccesslist");
createCol(landaccess, "LandUUID", typeof(String)); createCol(landaccess, "LandUUID", typeof (String));
createCol(landaccess, "AccessUUID", typeof(String)); createCol(landaccess, "AccessUUID", typeof (String));
createCol(landaccess, "Flags", typeof(Int32)); createCol(landaccess, "Flags", typeof (Int32));
return landaccess; return landaccess;
} }
@ -596,38 +595,38 @@ namespace OpenSim.Framework.Data.MySQL
private DataTable createShapeTable() private DataTable createShapeTable()
{ {
DataTable shapes = new DataTable("primshapes"); DataTable shapes = new DataTable("primshapes");
createCol(shapes, "UUID", typeof(String)); createCol(shapes, "UUID", typeof (String));
// shape is an enum // shape is an enum
createCol(shapes, "Shape", typeof(Int32)); createCol(shapes, "Shape", typeof (Int32));
// vectors // vectors
createCol(shapes, "ScaleX", typeof(Double)); createCol(shapes, "ScaleX", typeof (Double));
createCol(shapes, "ScaleY", typeof(Double)); createCol(shapes, "ScaleY", typeof (Double));
createCol(shapes, "ScaleZ", typeof(Double)); createCol(shapes, "ScaleZ", typeof (Double));
// paths // paths
createCol(shapes, "PCode", typeof(Int32)); createCol(shapes, "PCode", typeof (Int32));
createCol(shapes, "PathBegin", typeof(Int32)); createCol(shapes, "PathBegin", typeof (Int32));
createCol(shapes, "PathEnd", typeof(Int32)); createCol(shapes, "PathEnd", typeof (Int32));
createCol(shapes, "PathScaleX", typeof(Int32)); createCol(shapes, "PathScaleX", typeof (Int32));
createCol(shapes, "PathScaleY", typeof(Int32)); createCol(shapes, "PathScaleY", typeof (Int32));
createCol(shapes, "PathShearX", typeof(Int32)); createCol(shapes, "PathShearX", typeof (Int32));
createCol(shapes, "PathShearY", typeof(Int32)); createCol(shapes, "PathShearY", typeof (Int32));
createCol(shapes, "PathSkew", typeof(Int32)); createCol(shapes, "PathSkew", typeof (Int32));
createCol(shapes, "PathCurve", typeof(Int32)); createCol(shapes, "PathCurve", typeof (Int32));
createCol(shapes, "PathRadiusOffset", typeof(Int32)); createCol(shapes, "PathRadiusOffset", typeof (Int32));
createCol(shapes, "PathRevolutions", typeof(Int32)); createCol(shapes, "PathRevolutions", typeof (Int32));
createCol(shapes, "PathTaperX", typeof(Int32)); createCol(shapes, "PathTaperX", typeof (Int32));
createCol(shapes, "PathTaperY", typeof(Int32)); createCol(shapes, "PathTaperY", typeof (Int32));
createCol(shapes, "PathTwist", typeof(Int32)); createCol(shapes, "PathTwist", typeof (Int32));
createCol(shapes, "PathTwistBegin", typeof(Int32)); createCol(shapes, "PathTwistBegin", typeof (Int32));
// profile // profile
createCol(shapes, "ProfileBegin", typeof(Int32)); createCol(shapes, "ProfileBegin", typeof (Int32));
createCol(shapes, "ProfileEnd", typeof(Int32)); createCol(shapes, "ProfileEnd", typeof (Int32));
createCol(shapes, "ProfileCurve", typeof(Int32)); createCol(shapes, "ProfileCurve", typeof (Int32));
createCol(shapes, "ProfileHollow", typeof(Int32)); createCol(shapes, "ProfileHollow", typeof (Int32));
createCol(shapes, "Texture", typeof(Byte[])); createCol(shapes, "Texture", typeof (Byte[]));
createCol(shapes, "ExtraParams", typeof(Byte[])); createCol(shapes, "ExtraParams", typeof (Byte[]));
shapes.PrimaryKey = new DataColumn[] { shapes.Columns["UUID"] }; shapes.PrimaryKey = new DataColumn[] {shapes.Columns["UUID"]};
return shapes; return shapes;
} }
@ -643,23 +642,23 @@ namespace OpenSim.Framework.Data.MySQL
private SceneObjectPart buildPrim(DataRow row) private SceneObjectPart buildPrim(DataRow row)
{ {
SceneObjectPart prim = new SceneObjectPart(); SceneObjectPart prim = new SceneObjectPart();
prim.UUID = new LLUUID((String)row["UUID"]); prim.UUID = new LLUUID((String) row["UUID"]);
// explicit conversion of integers is required, which sort // explicit conversion of integers is required, which sort
// of sucks. No idea if there is a shortcut here or not. // of sucks. No idea if there is a shortcut here or not.
prim.ParentID = Convert.ToUInt32(row["ParentID"]); prim.ParentID = Convert.ToUInt32(row["ParentID"]);
prim.CreationDate = Convert.ToInt32(row["CreationDate"]); prim.CreationDate = Convert.ToInt32(row["CreationDate"]);
prim.Name = (String)row["Name"]; prim.Name = (String) row["Name"];
// various text fields // various text fields
prim.Text = (String)row["Text"]; prim.Text = (String) row["Text"];
prim.Description = (String)row["Description"]; prim.Description = (String) row["Description"];
prim.SitName = (String)row["SitName"]; prim.SitName = (String) row["SitName"];
prim.TouchName = (String)row["TouchName"]; prim.TouchName = (String) row["TouchName"];
// permissions // permissions
prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]); prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]);
prim.CreatorID = new LLUUID((String)row["CreatorID"]); prim.CreatorID = new LLUUID((String) row["CreatorID"]);
prim.OwnerID = new LLUUID((String)row["OwnerID"]); prim.OwnerID = new LLUUID((String) row["OwnerID"]);
prim.GroupID = new LLUUID((String)row["GroupID"]); prim.GroupID = new LLUUID((String) row["GroupID"]);
prim.LastOwnerID = new LLUUID((String)row["LastOwnerID"]); prim.LastOwnerID = new LLUUID((String) row["LastOwnerID"]);
prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]); prim.OwnerMask = Convert.ToUInt32(row["OwnerMask"]);
prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]); prim.NextOwnerMask = Convert.ToUInt32(row["NextOwnerMask"]);
prim.GroupMask = Convert.ToUInt32(row["GroupMask"]); prim.GroupMask = Convert.ToUInt32(row["GroupMask"]);
@ -701,19 +700,27 @@ namespace OpenSim.Framework.Data.MySQL
try try
{ {
prim.SetSitTargetLL(new LLVector3( prim.SetSitTargetLL(new LLVector3(
Convert.ToSingle(row["SitTargetOffsetX"]), Convert.ToSingle(row["SitTargetOffsetX"]),
Convert.ToSingle(row["SitTargetOffsetY"]), Convert.ToSingle(row["SitTargetOffsetY"]),
Convert.ToSingle(row["SitTargetOffsetZ"])), new LLQuaternion( Convert.ToSingle(row["SitTargetOffsetZ"])), new LLQuaternion(
Convert.ToSingle(row["SitTargetOrientX"]), Convert.ToSingle(
Convert.ToSingle(row["SitTargetOrientY"]), row["SitTargetOrientX"]),
Convert.ToSingle(row["SitTargetOrientZ"]), Convert.ToSingle(
Convert.ToSingle(row["SitTargetOrientW"]))); row["SitTargetOrientY"]),
Convert.ToSingle(
row["SitTargetOrientZ"]),
Convert.ToSingle(
row["SitTargetOrientW"])));
} }
catch (System.InvalidCastException) catch (InvalidCastException)
{ {
// Database table was created before we got here and needs to be created! :P // Database table was created before we got here and needs to be created! :P
using (MySqlCommand cmd = new MySqlCommand("ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", m_connection)) using (
MySqlCommand cmd =
new MySqlCommand(
"ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;",
m_connection))
{ {
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
} }
@ -725,36 +732,42 @@ namespace OpenSim.Framework.Data.MySQL
{ {
LandData newData = new LandData(); LandData newData = new LandData();
newData.globalID = new LLUUID((String)row["UUID"]); newData.globalID = new LLUUID((String) row["UUID"]);
newData.localID = Convert.ToInt32(row["LocalLandID"]); newData.localID = Convert.ToInt32(row["LocalLandID"]);
// Bitmap is a byte[512] // Bitmap is a byte[512]
newData.landBitmapByteArray = (Byte[])row["Bitmap"]; newData.landBitmapByteArray = (Byte[]) row["Bitmap"];
newData.landName = (String)row["Name"]; newData.landName = (String) row["Name"];
newData.landDesc = (String)row["Description"]; newData.landDesc = (String) row["Description"];
newData.ownerID = (String)row["OwnerUUID"]; newData.ownerID = (String) row["OwnerUUID"];
newData.isGroupOwned = Convert.ToBoolean(row["IsGroupOwned"]); newData.isGroupOwned = Convert.ToBoolean(row["IsGroupOwned"]);
newData.area = Convert.ToInt32(row["Area"]); newData.area = Convert.ToInt32(row["Area"]);
newData.auctionID = Convert.ToUInt32(row["AuctionID"]); //Unemplemented newData.auctionID = Convert.ToUInt32(row["AuctionID"]); //Unemplemented
newData.category = (Parcel.ParcelCategory)Convert.ToInt32(row["Category"]); //Enum libsecondlife.Parcel.ParcelCategory newData.category = (Parcel.ParcelCategory) Convert.ToInt32(row["Category"]);
//Enum libsecondlife.Parcel.ParcelCategory
newData.claimDate = Convert.ToInt32(row["ClaimDate"]); newData.claimDate = Convert.ToInt32(row["ClaimDate"]);
newData.claimPrice = Convert.ToInt32(row["ClaimPrice"]); newData.claimPrice = Convert.ToInt32(row["ClaimPrice"]);
newData.groupID = new LLUUID((String)row["GroupUUID"]); newData.groupID = new LLUUID((String) row["GroupUUID"]);
newData.salePrice = Convert.ToInt32(row["SalePrice"]); newData.salePrice = Convert.ToInt32(row["SalePrice"]);
newData.landStatus = (Parcel.ParcelStatus)Convert.ToInt32(row["LandStatus"]); //Enum. libsecondlife.Parcel.ParcelStatus newData.landStatus = (Parcel.ParcelStatus) Convert.ToInt32(row["LandStatus"]);
//Enum. libsecondlife.Parcel.ParcelStatus
newData.landFlags = Convert.ToUInt32(row["LandFlags"]); newData.landFlags = Convert.ToUInt32(row["LandFlags"]);
newData.landingType = Convert.ToByte(row["LandingType"]); newData.landingType = Convert.ToByte(row["LandingType"]);
newData.mediaAutoScale = Convert.ToByte(row["MediaAutoScale"]); newData.mediaAutoScale = Convert.ToByte(row["MediaAutoScale"]);
newData.mediaID = new LLUUID((String)row["MediaTextureUUID"]); newData.mediaID = new LLUUID((String) row["MediaTextureUUID"]);
newData.mediaURL = (String)row["MediaURL"]; newData.mediaURL = (String) row["MediaURL"];
newData.musicURL = (String)row["MusicURL"]; newData.musicURL = (String) row["MusicURL"];
newData.passHours = Convert.ToSingle(row["PassHours"]); newData.passHours = Convert.ToSingle(row["PassHours"]);
newData.passPrice = Convert.ToInt32(row["PassPrice"]); newData.passPrice = Convert.ToInt32(row["PassPrice"]);
newData.snapshotID = (String)row["SnapshotUUID"]; newData.snapshotID = (String) row["SnapshotUUID"];
newData.userLocation = new LLVector3(Convert.ToSingle(row["UserLocationX"]), Convert.ToSingle(row["UserLocationY"]), Convert.ToSingle(row["UserLocationZ"])); newData.userLocation =
newData.userLookAt = new LLVector3(Convert.ToSingle(row["UserLookAtX"]), Convert.ToSingle(row["UserLookAtY"]), Convert.ToSingle(row["UserLookAtZ"])); new LLVector3(Convert.ToSingle(row["UserLocationX"]), Convert.ToSingle(row["UserLocationY"]),
Convert.ToSingle(row["UserLocationZ"]));
newData.userLookAt =
new LLVector3(Convert.ToSingle(row["UserLookAtX"]), Convert.ToSingle(row["UserLookAtY"]),
Convert.ToSingle(row["UserLookAtZ"]));
newData.parcelAccessList = new List<ParcelManager.ParcelAccessEntry>(); newData.parcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
return newData; return newData;
@ -763,7 +776,7 @@ namespace OpenSim.Framework.Data.MySQL
private ParcelManager.ParcelAccessEntry buildLandAccessData(DataRow row) private ParcelManager.ParcelAccessEntry buildLandAccessData(DataRow row)
{ {
ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry();
entry.AgentID = new LLUUID((string)row["AccessUUID"]); entry.AgentID = new LLUUID((string) row["AccessUUID"]);
entry.Flags = (ParcelManager.AccessList) Convert.ToInt32(row["Flags"]); entry.Flags = (ParcelManager.AccessList) Convert.ToInt32(row["Flags"]);
entry.Time = new DateTime(); entry.Time = new DateTime();
return entry; return entry;
@ -771,7 +784,7 @@ namespace OpenSim.Framework.Data.MySQL
private Array serializeTerrain(double[,] val) private Array serializeTerrain(double[,] val)
{ {
MemoryStream str = new MemoryStream(65536 * sizeof(double)); MemoryStream str = new MemoryStream(65536*sizeof (double));
BinaryWriter bw = new BinaryWriter(str); BinaryWriter bw = new BinaryWriter(str);
// TODO: COMPATIBILITY - Add byte-order conversions // TODO: COMPATIBILITY - Add byte-order conversions
@ -789,7 +802,8 @@ namespace OpenSim.Framework.Data.MySQL
row["ParentID"] = prim.ParentID; row["ParentID"] = prim.ParentID;
row["CreationDate"] = prim.CreationDate; row["CreationDate"] = prim.CreationDate;
row["Name"] = prim.Name; row["Name"] = prim.Name;
row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID); // the UUID of the root part for this SceneObjectGroup row["SceneGroupID"] = Util.ToRawUuidString(sceneGroupID);
// the UUID of the root part for this SceneObjectGroup
// various text fields // various text fields
row["Text"] = prim.Text; row["Text"] = prim.Text;
row["Description"] = prim.Description; row["Description"] = prim.Description;
@ -841,18 +855,20 @@ namespace OpenSim.Framework.Data.MySQL
row["SitTargetOrientX"] = sitTargetOrient.X; row["SitTargetOrientX"] = sitTargetOrient.X;
row["SitTargetOrientY"] = sitTargetOrient.Y; row["SitTargetOrientY"] = sitTargetOrient.Y;
row["SitTargetOrientZ"] = sitTargetOrient.Z; row["SitTargetOrientZ"] = sitTargetOrient.Z;
} }
catch (MySql.Data.MySqlClient.MySqlException) catch (MySqlException)
{ {
// Database table was created before we got here and needs to be created! :P // Database table was created before we got here and needs to be created! :P
using (MySqlCommand cmd = new MySqlCommand("ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;", m_connection)) using (
MySqlCommand cmd =
new MySqlCommand(
"ALTER TABLE `prims` ADD COLUMN `SitTargetOffsetX` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetY` float NOT NULL default 0, ADD COLUMN `SitTargetOffsetZ` float NOT NULL default 0, ADD COLUMN `SitTargetOrientW` float NOT NULL default 0, ADD COLUMN `SitTargetOrientX` float NOT NULL default 0, ADD COLUMN `SitTargetOrientY` float NOT NULL default 0, ADD COLUMN `SitTargetOrientZ` float NOT NULL default 0;",
m_connection))
{ {
cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery();
} }
} }
} }
private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID) private void fillLandRow(DataRow row, LandData land, LLUUID regionUUID)
@ -929,11 +945,11 @@ namespace OpenSim.Framework.Data.MySQL
s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]); s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]);
s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]); s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]);
s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]); s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]);
byte[] textureEntry = (byte[])row["Texture"]; byte[] textureEntry = (byte[]) row["Texture"];
s.TextureEntry = textureEntry; s.TextureEntry = textureEntry;
s.ExtraParams = (byte[])row["ExtraParams"]; s.ExtraParams = (byte[]) row["ExtraParams"];
return s; return s;
} }
@ -1146,7 +1162,7 @@ namespace OpenSim.Framework.Data.MySQL
da.UpdateCommand = updateCommand; da.UpdateCommand = updateCommand;
MySqlCommand delete = new MySqlCommand("delete from prims where UUID=?UUID"); MySqlCommand delete = new MySqlCommand("delete from prims where UUID=?UUID");
delete.Parameters.Add(createMySqlParameter("UUID", typeof(String))); delete.Parameters.Add(createMySqlParameter("UUID", typeof (String)));
delete.Connection = conn; delete.Connection = conn;
da.DeleteCommand = delete; da.DeleteCommand = delete;
} }
@ -1181,7 +1197,7 @@ namespace OpenSim.Framework.Data.MySQL
da.UpdateCommand.Connection = conn; da.UpdateCommand.Connection = conn;
MySqlCommand delete = new MySqlCommand("delete from primshapes where UUID = ?UUID"); MySqlCommand delete = new MySqlCommand("delete from primshapes where UUID = ?UUID");
delete.Parameters.Add(createMySqlParameter("UUID", typeof(String))); delete.Parameters.Add(createMySqlParameter("UUID", typeof (String)));
delete.Connection = conn; delete.Connection = conn;
da.DeleteCommand = delete; da.DeleteCommand = delete;
} }
@ -1337,27 +1353,27 @@ namespace OpenSim.Framework.Data.MySQL
private DbType dbtypeFromType(Type type) private DbType dbtypeFromType(Type type)
{ {
if (type == typeof(String)) if (type == typeof (String))
{ {
return DbType.String; return DbType.String;
} }
else if (type == typeof(Int32)) else if (type == typeof (Int32))
{ {
return DbType.Int32; return DbType.Int32;
} }
else if (type == typeof(Double)) else if (type == typeof (Double))
{ {
return DbType.Double; return DbType.Double;
} }
else if (type == typeof(Byte)) else if (type == typeof (Byte))
{ {
return DbType.Byte; return DbType.Byte;
} }
else if (type == typeof(Double)) else if (type == typeof (Double))
{ {
return DbType.Double; return DbType.Double;
} }
else if (type == typeof(Byte[])) else if (type == typeof (Byte[]))
{ {
return DbType.Binary; return DbType.Binary;
} }
@ -1371,19 +1387,19 @@ namespace OpenSim.Framework.Data.MySQL
// slightly differently. // slightly differently.
private string MySqlType(Type type) private string MySqlType(Type type)
{ {
if (type == typeof(String)) if (type == typeof (String))
{ {
return "varchar(255)"; return "varchar(255)";
} }
else if (type == typeof(Int32)) else if (type == typeof (Int32))
{ {
return "integer"; return "integer";
} }
else if (type == typeof(Double)) else if (type == typeof (Double))
{ {
return "float"; return "float";
} }
else if (type == typeof(Byte[])) else if (type == typeof (Byte[]))
{ {
return "longblob"; return "longblob";
} }
@ -1393,4 +1409,4 @@ namespace OpenSim.Framework.Data.MySQL
} }
} }
} }
} }

View File

@ -31,6 +31,7 @@ using System.Collections.Generic;
using System.Data; using System.Data;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
@ -62,7 +63,7 @@ namespace OpenSim.Framework.Data.MySQL
database = database =
new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
settingPort); settingPort);
TestTables(); TestTables();
} }
@ -80,7 +81,7 @@ namespace OpenSim.Framework.Data.MySQL
UpgradeRegionsTable(tableList["regions"]); UpgradeRegionsTable(tableList["regions"]);
} }
/// <summary> /// <summary>
/// Create or upgrade the table if necessary /// Create or upgrade the table if necessary
/// </summary> /// </summary>
@ -94,10 +95,10 @@ namespace OpenSim.Framework.Data.MySQL
database.ExecuteResourceSql("CreateRegionsTable.sql"); database.ExecuteResourceSql("CreateRegionsTable.sql");
return; return;
} }
} }
#endregion #endregion
/// <summary> /// <summary>
/// Shuts down the grid interface /// Shuts down the grid interface
/// </summary> /// </summary>
@ -203,42 +204,41 @@ namespace OpenSim.Framework.Data.MySQL
return null; return null;
} }
} }
/// <summary> /// <summary>
/// // Returns a list of avatar and UUIDs that match the query /// // Returns a list of avatar and UUIDs that match the query
/// </summary> /// </summary>
public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
System.Text.RegularExpressions.Regex objAlphaNumericPattern = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]"); Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]");
string[] querysplit; string[] querysplit;
querysplit = query.Split(' '); querysplit = query.Split(' ');
if (querysplit.Length == 2) if (querysplit.Length == 2)
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["?first"] = objAlphaNumericPattern.Replace(querysplit[0],"") + "%"; param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%";
param["?second"] = objAlphaNumericPattern.Replace(querysplit[1], "") + "%"; param["?second"] = objAlphaNumericPattern.Replace(querysplit[1], "") + "%";
try try
{ {
lock (database) lock (database)
{ {
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
AvatarPickerAvatar user = new AvatarPickerAvatar(); AvatarPickerAvatar user = new AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -250,33 +250,30 @@ namespace OpenSim.Framework.Data.MySQL
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
return returnlist; return returnlist;
} }
} }
else if (querysplit.Length == 1) else if (querysplit.Length == 1)
{ {
try try
{ {
lock (database) lock (database)
{ {
Dictionary<string, string> param = new Dictionary<string, string>(); Dictionary<string, string> param = new Dictionary<string, string>();
param["?first"] = objAlphaNumericPattern.Replace(querysplit[0],"") + "%"; param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%";
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,surname FROM users WHERE username like ?first OR lastname like ?second", param); database.Query(
"SELECT UUID,username,surname FROM users WHERE username like ?first OR lastname like ?second",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
AvatarPickerAvatar user = new AvatarPickerAvatar(); AvatarPickerAvatar user = new AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["surname"]; user.lastName = (string) reader["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -413,4 +410,4 @@ namespace OpenSim.Framework.Data.MySQL
} }
} }
} }
} }

View File

@ -232,7 +232,7 @@ namespace OpenSim.Framework.Data.MySQL
List<InventoryFolderBase> items = new List<InventoryFolderBase>(); List<InventoryFolderBase> items = new List<InventoryFolderBase>();
while (reader.Read()) while (reader.Read())
items.Add(readInventoryFolder(reader)); items.Add(readInventoryFolder(reader));
InventoryFolderBase rootFolder = null; InventoryFolderBase rootFolder = null;
// There should only ever be one root folder for a user. However, if there's more // There should only ever be one root folder for a user. However, if there's more
@ -637,4 +637,4 @@ namespace OpenSim.Framework.Data.MySQL
} }
} }
} }
} }

View File

@ -103,4 +103,4 @@ namespace OpenSim.Framework.Data.MySQL
return "0.1"; return "0.1";
} }
} }
} }

View File

@ -666,4 +666,4 @@ namespace OpenSim.Framework.Data.MySQL
return returnval; return returnval;
} }
} }
} }

View File

@ -28,6 +28,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Text.RegularExpressions;
using libsecondlife; using libsecondlife;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
@ -61,7 +62,7 @@ namespace OpenSim.Framework.Data.MySQL
database = database =
new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
settingPort); settingPort);
TestTables(); TestTables();
} }
@ -81,7 +82,7 @@ namespace OpenSim.Framework.Data.MySQL
UpgradeAgentsTable(tableList["agents"]); UpgradeAgentsTable(tableList["agents"]);
UpgradeUsersTable(tableList["users"]); UpgradeUsersTable(tableList["users"]);
} }
/// <summary> /// <summary>
/// Create or upgrade the table if necessary /// Create or upgrade the table if necessary
/// </summary> /// </summary>
@ -95,8 +96,8 @@ namespace OpenSim.Framework.Data.MySQL
database.ExecuteResourceSql("CreateAgentsTable.sql"); database.ExecuteResourceSql("CreateAgentsTable.sql");
return; return;
} }
} }
/// <summary> /// <summary>
/// Create or upgrade the table if necessary /// Create or upgrade the table if necessary
/// </summary> /// </summary>
@ -110,8 +111,8 @@ namespace OpenSim.Framework.Data.MySQL
database.ExecuteResourceSql("CreateUsersTable.sql"); database.ExecuteResourceSql("CreateUsersTable.sql");
return; return;
} }
} }
#endregion #endregion
// see IUserData // see IUserData
@ -144,11 +145,11 @@ namespace OpenSim.Framework.Data.MySQL
} }
} }
public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
System.Text.RegularExpressions.Regex objAlphaNumericPattern = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]"); Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]");
string[] querysplit; string[] querysplit;
querysplit = query.Split(' '); querysplit = query.Split(' ');
@ -161,21 +162,20 @@ namespace OpenSim.Framework.Data.MySQL
{ {
lock (database) lock (database)
{ {
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,lastname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100", param); database.Query(
"SELECT UUID,username,lastname FROM users WHERE username like ?first AND lastname like ?second LIMIT 100",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["lastname"]; user.lastName = (string) reader["lastname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -187,13 +187,9 @@ namespace OpenSim.Framework.Data.MySQL
MainLog.Instance.Error(e.ToString()); MainLog.Instance.Error(e.ToString());
return returnlist; return returnlist;
} }
} }
else if (querysplit.Length == 1) else if (querysplit.Length == 1)
{ {
try try
{ {
lock (database) lock (database)
@ -202,18 +198,19 @@ namespace OpenSim.Framework.Data.MySQL
param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%"; param["?first"] = objAlphaNumericPattern.Replace(querysplit[0], "") + "%";
IDbCommand result = IDbCommand result =
database.Query("SELECT UUID,username,lastname FROM users WHERE username like ?first OR lastname like ?first LIMIT 100", param); database.Query(
"SELECT UUID,username,lastname FROM users WHERE username like ?first OR lastname like ?first LIMIT 100",
param);
IDataReader reader = result.ExecuteReader(); IDataReader reader = result.ExecuteReader();
while (reader.Read()) while (reader.Read())
{ {
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
user.AvatarID = new LLUUID((string)reader["UUID"]); user.AvatarID = new LLUUID((string) reader["UUID"]);
user.firstName = (string)reader["username"]; user.firstName = (string) reader["username"];
user.lastName = (string)reader["lastname"]; user.lastName = (string) reader["lastname"];
returnlist.Add(user); returnlist.Add(user);
} }
reader.Close(); reader.Close();
result.Dispose(); result.Dispose();
@ -402,4 +399,4 @@ namespace OpenSim.Framework.Data.MySQL
return "0.1"; return "0.1";
} }
} }
} }

View File

@ -313,4 +313,4 @@ namespace OpenSim.Framework.Data.SQLite
#endregion #endregion
} }
} }

View File

@ -263,4 +263,4 @@ namespace OpenSim.Framework.Data.SQLite
} }
} }
} }
} }

View File

@ -130,16 +130,17 @@ namespace OpenSim.Framework.Data.SQLite
return row; return row;
} }
/// <summary> /// <summary>
/// // Returns a list of avatar and UUIDs that match the query /// // Returns a list of avatar and UUIDs that match the query
/// </summary> /// </summary>
public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
//Do nothing yet //Do nothing yet
List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
return returnlist; return returnlist;
} }
/// <summary> /// <summary>
/// Adds a new specified region to the database /// Adds a new specified region to the database
/// </summary> /// </summary>
@ -201,4 +202,4 @@ namespace OpenSim.Framework.Data.SQLite
return null; return null;
} }
} }
} }

View File

@ -159,6 +159,7 @@ namespace OpenSim.Framework.Data.SQLite
invFoldersDa.Update(ds, "inventoryfolders"); invFoldersDa.Update(ds, "inventoryfolders");
} }
private void addItem(InventoryItemBase item) private void addItem(InventoryItemBase item)
{ {
DataTable inventoryItemTable = ds.Tables["inventoryitems"]; DataTable inventoryItemTable = ds.Tables["inventoryitems"];
@ -248,7 +249,8 @@ namespace OpenSim.Framework.Data.SQLite
{ {
List<InventoryFolderBase> folders = new List<InventoryFolderBase>(); List<InventoryFolderBase> folders = new List<InventoryFolderBase>();
DataTable inventoryFolderTable = ds.Tables["inventoryfolders"]; DataTable inventoryFolderTable = ds.Tables["inventoryfolders"];
string selectExp = "agentID = '" + Util.ToRawUuidString(user) + "' AND parentID = '" + Util.ToRawUuidString(LLUUID.Zero) + "'"; string selectExp = "agentID = '" + Util.ToRawUuidString(user) + "' AND parentID = '" +
Util.ToRawUuidString(LLUUID.Zero) + "'";
DataRow[] rows = inventoryFolderTable.Select(selectExp); DataRow[] rows = inventoryFolderTable.Select(selectExp);
foreach (DataRow row in rows) foreach (DataRow row in rows)
{ {
@ -627,4 +629,4 @@ namespace OpenSim.Framework.Data.SQLite
return true; return true;
} }
} }
} }

View File

@ -275,4 +275,4 @@ namespace OpenSim.Framework.Data.SQLite
return returnval; return returnval;
} }
} }
} }

View File

@ -30,7 +30,6 @@ using System.Collections.Generic;
using System.Data; using System.Data;
using libsecondlife; using libsecondlife;
using Mono.Data.SqliteClient; using Mono.Data.SqliteClient;
using OpenSim.Framework;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
namespace OpenSim.Framework.Data.SQLite namespace OpenSim.Framework.Data.SQLite
@ -38,7 +37,6 @@ namespace OpenSim.Framework.Data.SQLite
/// <summary> /// <summary>
/// A User storage interface for the SQLite database system /// A User storage interface for the SQLite database system
/// </summary> /// </summary>
public class SQLiteUserData : SQLiteBase, IUserData public class SQLiteUserData : SQLiteBase, IUserData
{ {
/// <summary> /// <summary>
@ -119,46 +117,46 @@ namespace OpenSim.Framework.Data.SQLite
} }
} }
public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) public List<Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
{ {
List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); List<Framework.AvatarPickerAvatar> returnlist = new List<Framework.AvatarPickerAvatar>();
string[] querysplit; string[] querysplit;
querysplit = query.Split(' '); querysplit = query.Split(' ');
if (querysplit.Length == 2) if (querysplit.Length == 2)
{ {
string select = "username like '" + querysplit[0] + "%' and surname like '" + querysplit[1] + "%'"; string select = "username like '" + querysplit[0] + "%' and surname like '" + querysplit[1] + "%'";
lock(ds) lock (ds)
{ {
DataRow[] rows = ds.Tables["users"].Select(select); DataRow[] rows = ds.Tables["users"].Select(select);
if (rows.Length > 0) if (rows.Length > 0)
{ {
for (int i = 0; i < rows.Length; i++) for (int i = 0; i < rows.Length; i++)
{ {
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
DataRow row = rows[i]; DataRow row = rows[i];
user.AvatarID = new LLUUID((string)row["UUID"]); user.AvatarID = new LLUUID((string) row["UUID"]);
user.firstName = (string)row["username"]; user.firstName = (string) row["username"];
user.lastName = (string)row["surname"]; user.lastName = (string) row["surname"];
returnlist.Add(user); returnlist.Add(user);
} }
} }
} }
} }
else if (querysplit.Length == 1) else if (querysplit.Length == 1)
{ {
string select = "username like '" + querysplit[0] + "%' OR surname like '" + querysplit[0] + "%'"; string select = "username like '" + querysplit[0] + "%' OR surname like '" + querysplit[0] + "%'";
lock(ds) lock (ds)
{ {
DataRow[] rows = ds.Tables["users"].Select(select); DataRow[] rows = ds.Tables["users"].Select(select);
if (rows.Length > 0) if (rows.Length > 0)
{ {
for (int i = 0;i<rows.Length;i++) { for (int i = 0; i < rows.Length; i++)
OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); {
Framework.AvatarPickerAvatar user = new Framework.AvatarPickerAvatar();
DataRow row = rows[i]; DataRow row = rows[i];
user.AvatarID = new LLUUID((string)row[0]); user.AvatarID = new LLUUID((string) row[0]);
user.firstName = (string)row[1]; user.firstName = (string) row[1];
user.lastName = (string)row[2]; user.lastName = (string) row[2];
returnlist.Add(user); returnlist.Add(user);
} }
} }
@ -166,6 +164,7 @@ namespace OpenSim.Framework.Data.SQLite
} }
return returnlist; return returnlist;
} }
/// <summary> /// <summary>
/// Returns a user by UUID direct /// Returns a user by UUID direct
/// </summary> /// </summary>
@ -263,7 +262,6 @@ namespace OpenSim.Framework.Data.SQLite
} }
else else
{ {
row.Delete(); row.Delete();
ua.AcceptChanges(); ua.AcceptChanges();
} }
@ -595,4 +593,4 @@ namespace OpenSim.Framework.Data.SQLite
return true; return true;
} }
} }
} }

View File

@ -25,8 +25,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife;
using System.Collections.Generic; using System.Collections.Generic;
using libsecondlife;
namespace OpenSim.Framework.Data namespace OpenSim.Framework.Data
{ {
@ -35,10 +35,12 @@ namespace OpenSim.Framework.Data
public LLUUID AvatarID; public LLUUID AvatarID;
public string firstName; public string firstName;
public string lastName; public string lastName;
public AvatarPickerAvatar() public AvatarPickerAvatar()
{ {
} }
} }
public enum DataResponse public enum DataResponse
{ {
RESPONSE_OK, RESPONSE_OK,
@ -78,6 +80,7 @@ namespace OpenSim.Framework.Data
List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query);
/// <summary> /// <summary>
/// Authenticates a sim by use of its recv key. /// Authenticates a sim by use of its recv key.
/// WARNING: Insecure /// WARNING: Insecure
@ -119,4 +122,4 @@ namespace OpenSim.Framework.Data
ReservationData GetReservationAtPoint(uint x, uint y); ReservationData GetReservationAtPoint(uint x, uint y);
} }
} }

View File

@ -88,4 +88,4 @@ namespace OpenSim.Framework.Data
/// <returns>A string containing the plugin version</returns> /// <returns>A string containing the plugin version</returns>
string getVersion(); string getVersion();
} }
} }

View File

@ -95,4 +95,4 @@ namespace OpenSim.Framework.Data
private string _iniFileName; private string _iniFileName;
} }
} }

View File

@ -198,4 +198,4 @@ namespace OpenSim.Framework.Data
return simData; return simData;
} }
} }
} }

View File

@ -44,4 +44,4 @@ namespace OpenSim.Framework.Data
public string gridSendKey = ""; public string gridSendKey = "";
public string gridRecvKey = ""; public string gridRecvKey = "";
} }
} }

View File

@ -482,7 +482,7 @@ namespace OpenSim.Framework
// I don't think there is a reason that this actually // I don't think there is a reason that this actually
// needs to be written back to the estate settings // needs to be written back to the estate settings
// file. // file.
// configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString()); // configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
} }
} }
@ -708,4 +708,4 @@ namespace OpenSim.Framework
return true; return true;
} }
} }
} }

View File

@ -93,7 +93,8 @@ namespace OpenSim.Framework
configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
"Http Listener port", DefaultHttpPort.ToString(), false); "Http Listener port", DefaultHttpPort.ToString(), false);
configMember.addConfigurationOption("allow_forceful_banlines", ConfigurationOption.ConfigurationTypes.TYPE_STRING, configMember.addConfigurationOption("allow_forceful_banlines",
ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"Allow Forceful Banlines", "TRUE", true); "Allow Forceful Banlines", "TRUE", true);
} }
@ -135,7 +136,7 @@ namespace OpenSim.Framework
HttpPort = (uint) configuration_result; HttpPort = (uint) configuration_result;
break; break;
case "allow_forceful_banlines": case "allow_forceful_banlines":
AllowForcefulBanlines = (string)configuration_result; AllowForcefulBanlines = (string) configuration_result;
break; break;
} }

View File

@ -60,4 +60,4 @@ namespace OpenSim.Framework
{ {
IAssetServer GetAssetServer(); IAssetServer GetAssetServer();
} }
} }

View File

@ -229,7 +229,8 @@ namespace OpenSim.Framework
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos); public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
public delegate void ModifyTerrain( public delegate void ModifyTerrain(
float height, float seconds, byte size, byte action, float north, float west, float south, float east, IClientAPI remoteClient); float height, float seconds, byte size, byte action, float north, float west, float south, float east,
IClientAPI remoteClient);
public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam); public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
@ -269,7 +270,8 @@ namespace OpenSim.Framework
public delegate void ObjectSelect(uint localID, IClientAPI remoteClient); public delegate void ObjectSelect(uint localID, IClientAPI remoteClient);
public delegate void RequestObjectPropertiesFamily(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags, LLUUID TaskID); public delegate void RequestObjectPropertiesFamily(
IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags, LLUUID TaskID);
public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient); public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
@ -297,13 +299,17 @@ namespace OpenSim.Framework
public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID); public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID);
public delegate void AvatarPickerRequest(IClientAPI remoteClient, LLUUID agentdata, LLUUID queryID, string UserQuery); public delegate void AvatarPickerRequest(IClientAPI remoteClient, LLUUID agentdata, LLUUID queryID, string UserQuery
);
public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient); public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient);
public delegate void ParcelAccessListRequest(LLUUID agentID, LLUUID sessionID, uint flags, int sequenceID, int landLocalID,IClientAPI remote_client); public delegate void ParcelAccessListRequest(
LLUUID agentID, LLUUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client);
public delegate void ParcelAccessListUpdateRequest(LLUUID agentID, LLUUID sessionID,uint flags, int landLocalID, List<libsecondlife.ParcelManager.ParcelAccessEntry> entries, IClientAPI remote_client);
public delegate void ParcelAccessListUpdateRequest(
LLUUID agentID, LLUUID sessionID, uint flags, int landLocalID, List<ParcelManager.ParcelAccessEntry> entries,
IClientAPI remote_client);
public delegate void ParcelPropertiesRequest( public delegate void ParcelPropertiesRequest(
int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client); int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client);
@ -330,13 +336,14 @@ namespace OpenSim.Framework
public delegate void RequestGodlikePowers(LLUUID AgentID, LLUUID SessionID, LLUUID token, IClientAPI remote_client); public delegate void RequestGodlikePowers(LLUUID AgentID, LLUUID SessionID, LLUUID token, IClientAPI remote_client);
public delegate void GodKickUser(LLUUID GodAgentID, LLUUID GodSessionID, LLUUID AgentID, uint kickflags, byte[] reason); public delegate void GodKickUser(
LLUUID GodAgentID, LLUUID GodSessionID, LLUUID AgentID, uint kickflags, byte[] reason);
public delegate void CreateInventoryFolder( public delegate void CreateInventoryFolder(
IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID); IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID);
public delegate void UpdateInventoryFolder( public delegate void UpdateInventoryFolder(
IClientAPI remoteClient, LLUUID folderID, ushort type, string name, LLUUID parentID); IClientAPI remoteClient, LLUUID folderID, ushort type, string name, LLUUID parentID);
public delegate void MoveInventoryFolder( public delegate void MoveInventoryFolder(
IClientAPI remoteClient, LLUUID folderID, LLUUID parentID); IClientAPI remoteClient, LLUUID folderID, LLUUID parentID);
@ -360,7 +367,8 @@ namespace OpenSim.Framework
uint nextOwnerMask); uint nextOwnerMask);
public delegate void CopyInventoryItem( public delegate void CopyInventoryItem(
IClientAPI remoteClient, uint callbackID, LLUUID oldAgentID, LLUUID oldItemID, LLUUID newFolderID, string newName); IClientAPI remoteClient, uint callbackID, LLUUID oldAgentID, LLUUID oldItemID, LLUUID newFolderID,
string newName);
public delegate void MoveInventoryItem( public delegate void MoveInventoryItem(
IClientAPI remoteClient, LLUUID folderID, LLUUID itemID, int length, string newName); IClientAPI remoteClient, LLUUID folderID, LLUUID itemID, int length, string newName);
@ -372,15 +380,18 @@ namespace OpenSim.Framework
public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID); public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID);
public delegate void UDPAssetUploadRequest( public delegate void UDPAssetUploadRequest(
IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal, bool tempFile); IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal,
bool tempFile);
public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data); public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data);
public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName); public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName);
public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID); public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
public delegate void ObjectPermissions(IClientAPI remoteClinet, LLUUID AgentID, LLUUID SessionID, List<ObjectPermissionsPacket.ObjectDataBlock> permChanges); public delegate void ObjectPermissions(
IClientAPI remoteClinet, LLUUID AgentID, LLUUID SessionID,
List<ObjectPermissionsPacket.ObjectDataBlock> permChanges);
public interface IClientAPI public interface IClientAPI
{ {
@ -472,19 +483,19 @@ namespace OpenSim.Framework
event EstateOwnerMessageRequest OnEstateOwnerMessage; event EstateOwnerMessageRequest OnEstateOwnerMessage;
event RegionInfoRequest OnRegionInfoRequest; event RegionInfoRequest OnRegionInfoRequest;
event EstateCovenantRequest OnEstateCovenantRequest; event EstateCovenantRequest OnEstateCovenantRequest;
LLVector3 StartPos { get; set; } LLVector3 StartPos { get; set; }
LLUUID AgentId { get; } LLUUID AgentId { get; }
LLUUID SessionId { get; } LLUUID SessionId { get; }
LLUUID SecureSessionId { get; } LLUUID SecureSessionId { get; }
string FirstName { get; } string FirstName { get; }
string LastName { get; } string LastName { get; }
/// <summary> /// <summary>
/// Returns the full name of the agent/avatar represented by this client /// Returns the full name of the agent/avatar represented by this client
/// </summary> /// </summary>
@ -536,26 +547,29 @@ namespace OpenSim.Framework
void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint); void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
void SetChildAgentThrottle(byte[] throttle); void SetChildAgentThrottle(byte[] throttle);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color,
uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction); uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction);
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
LLQuaternion rotation); LLQuaternion rotation);
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity); LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity);
void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items, void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items,
List<InventoryFolderBase> folders, bool fetchFolders, List<InventoryFolderBase> folders, bool fetchFolders,
bool fetchItems); bool fetchItems);
void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item); void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item);
/// <summary> /// <summary>
/// Tell the client that we have created the item it requested. /// Tell the client that we have created the item it requested.
/// </summary> /// </summary>
/// <param name="Item"></param> /// <param name="Item"></param>
void SendInventoryItemCreateUpdate(InventoryItemBase Item); void SendInventoryItemCreateUpdate(InventoryItemBase Item);
void SendRemoveInventoryItem(LLUUID itemID); void SendRemoveInventoryItem(LLUUID itemID);
void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName); void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
void SendXferPacket(ulong xferID, uint packet, byte[] data); void SendXferPacket(ulong xferID, uint packet, byte[] data);
@ -566,7 +580,7 @@ namespace OpenSim.Framework
void SendNameReply(LLUUID profileId, string firstname, string lastname); void SendNameReply(LLUUID profileId, string firstname, string lastname);
void SendAlertMessage(string message); void SendAlertMessage(string message);
void SendAgentAlertMessage(string message, bool modal); void SendAgentAlertMessage(string message, bool modal);
void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url); void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
bool AddMoney(int debit); bool AddMoney(int debit);
@ -587,4 +601,4 @@ namespace OpenSim.Framework
event Action<IClientAPI> OnConnectionClosed; event Action<IClientAPI> OnConnectionClosed;
void SendLogoutPacket(); void SendLogoutPacket();
} }
} }

View File

@ -37,4 +37,4 @@ namespace OpenSim.Framework
void Commit(); void Commit();
void Close(); void Close();
} }
} }

View File

@ -51,8 +51,6 @@ namespace OpenSim.Framework
public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData); public delegate bool ChildAgentUpdate(ulong regionHandle, ChildAgentDataUpdate cAgentData);
public interface IRegionCommsListener public interface IRegionCommsListener
{ {
event ExpectUserDelegate OnExpectUser; event ExpectUserDelegate OnExpectUser;
@ -66,6 +64,5 @@ namespace OpenSim.Framework
event CloseAgentConnection OnCloseAgentConnection; event CloseAgentConnection OnCloseAgentConnection;
event RegionUp OnRegionUp; event RegionUp OnRegionUp;
event ChildAgentUpdate OnChildAgentUpdate; event ChildAgentUpdate OnChildAgentUpdate;
} }
} }

View File

@ -26,11 +26,8 @@
* *
*/ */
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Framework;
using Nini.Config; using Nini.Config;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
public interface IRegionLoader public interface IRegionLoader
@ -38,4 +35,4 @@ namespace OpenSim.Framework
void SetIniConfigSource(IniConfigSource configSource); void SetIniConfigSource(IniConfigSource configSource);
RegionInfo[] LoadRegions(); RegionInfo[] LoadRegions();
} }
} }

View File

@ -29,7 +29,8 @@ using libsecondlife;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
public delegate void restart( RegionInfo thisRegion ); public delegate void restart(RegionInfo thisRegion);
//public delegate void regionup ( RegionInfo thisRegion ); //public delegate void regionup ( RegionInfo thisRegion );
public enum RegionStatus : int public enum RegionStatus : int
@ -38,7 +39,7 @@ namespace OpenSim.Framework
Up = 1, Up = 1,
Crashed = 2, Crashed = 2,
Starting = 3 Starting = 3
}; } ;
public interface IScene public interface IScene
{ {
@ -58,4 +59,4 @@ namespace OpenSim.Framework
ClientManager ClientManager { get; } ClientManager ClientManager { get; }
} }
} }

View File

@ -25,8 +25,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife;
using System.Collections.Generic; using System.Collections.Generic;
using libsecondlife;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
@ -50,7 +50,7 @@ namespace OpenSim.Framework
/// <returns>The user data profile</returns> /// <returns>The user data profile</returns>
UserProfileData GetUserByName(string fname, string lname); UserProfileData GetUserByName(string fname, string lname);
List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query);
/// <summary> /// <summary>
/// Returns the current agent for a user searching by it's UUID /// Returns the current agent for a user searching by it's UUID
@ -127,13 +127,15 @@ namespace OpenSim.Framework
/// </summary> /// </summary>
void Initialise(); void Initialise();
} }
public class AvatarPickerAvatar public class AvatarPickerAvatar
{ {
public LLUUID AvatarID; public LLUUID AvatarID;
public string firstName; public string firstName;
public string lastName; public string lastName;
public AvatarPickerAvatar() public AvatarPickerAvatar()
{ {
} }
} }
} }

View File

@ -25,8 +25,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife;
using System.Collections.Generic; using System.Collections.Generic;
using libsecondlife;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
@ -48,4 +48,4 @@ namespace OpenSim.Framework
/// <param name="user"></param> /// <param name="user"></param>
LLUUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY); LLUUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
} }
} }

View File

@ -291,4 +291,4 @@ namespace OpenSim.Framework
[XmlElement(ElementName = "folder", IsNullable = true)] public SerializableFolder root; [XmlElement(ElementName = "folder", IsNullable = true)] public SerializableFolder root;
} }
} }

View File

@ -25,8 +25,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife;
using System.Collections.Generic; using System.Collections.Generic;
using libsecondlife;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
public class LandData public class LandData
@ -53,7 +54,7 @@ namespace OpenSim.Framework
public int simwideArea = 0; public int simwideArea = 0;
public int salePrice = 0; //Unemeplemented. Parcels price. public int salePrice = 0; //Unemeplemented. Parcels price.
public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased; public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark | public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
(uint) Parcel.ParcelFlags.AllowAllObjectEntry | (uint) Parcel.ParcelFlags.AllowAllObjectEntry |
(uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform | (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform |
@ -133,4 +134,4 @@ namespace OpenSim.Framework
return landData; return landData;
} }
} }
} }

View File

@ -47,4 +47,4 @@ namespace OpenSim.Framework
StartPos = new LLVector3(128, 128, 70); StartPos = new LLVector3(128, 128, 70);
} }
} }
} }

View File

@ -39,4 +39,4 @@ namespace OpenSim.Framework
public string sim_ip; public string sim_ip;
public uint sim_port; public uint sim_port;
} }
} }

View File

@ -80,8 +80,10 @@ namespace OpenSim.Framework
m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000); m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000);
m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000); m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000);
HttpListenerPort = (uint) config.Configs["Network"].GetInt("http_listener_port", (int) DefaultHttpListenerPort); HttpListenerPort =
RemotingListenerPort = (uint) config.Configs["Network"].GetInt("remoting_listener_port", (int) RemotingListenerPort); (uint) config.Configs["Network"].GetInt("http_listener_port", (int) DefaultHttpListenerPort);
RemotingListenerPort =
(uint) config.Configs["Network"].GetInt("remoting_listener_port", (int) RemotingListenerPort);
GridURL = GridURL =
config.Configs["Network"].GetString("grid_server_url", config.Configs["Network"].GetString("grid_server_url",
"http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString()); "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString());
@ -98,4 +100,4 @@ namespace OpenSim.Framework
InventoryConfig.DefaultHttpPort.ToString()); InventoryConfig.DefaultHttpPort.ToString());
} }
} }
} }

View File

@ -26,9 +26,9 @@
* *
*/ */
using System;
using System.Xml.Serialization; using System.Xml.Serialization;
using libsecondlife; using libsecondlife;
using System;
namespace OpenSim.Framework namespace OpenSim.Framework
{ {
@ -91,32 +91,21 @@ namespace OpenSim.Framework
public sbyte PathTwist; public sbyte PathTwist;
public sbyte PathTwistBegin; public sbyte PathTwistBegin;
[XmlIgnore] [XmlIgnore]
public LLObject.TextureEntry Textures public LLObject.TextureEntry Textures
{ {
get get { return new LLObject.TextureEntry(m_textureEntry, 0, m_textureEntry.Length); }
{
return new LLObject.TextureEntry(m_textureEntry, 0, m_textureEntry.Length);
}
set set { m_textureEntry = value.ToBytes(); }
{
m_textureEntry = value.ToBytes();
}
} }
private byte[] m_textureEntry; private byte[] m_textureEntry;
public byte[] TextureEntry public byte[] TextureEntry
{ {
get get { return m_textureEntry; }
{
return m_textureEntry;
}
set set { m_textureEntry = value; }
{
m_textureEntry = value;
}
} }
public byte[] ExtraParams; public byte[] ExtraParams;
@ -134,11 +123,11 @@ namespace OpenSim.Framework
[XmlIgnore] [XmlIgnore]
public HollowShape HollowShape public HollowShape HollowShape
{ {
get { return (HollowShape)(ProfileCurve & 0xf0); } get { return (HollowShape) (ProfileCurve & 0xf0); }
set set
{ {
byte oldValueMasked = (byte)(ProfileCurve & 0x0f); byte oldValueMasked = (byte) (ProfileCurve & 0x0f);
ProfileCurve = (byte)(oldValueMasked | (byte)value); ProfileCurve = (byte) (oldValueMasked | (byte) value);
} }
} }
@ -147,7 +136,6 @@ namespace OpenSim.Framework
get { return Scale; } get { return Scale; }
} }
static PrimitiveBaseShape() static PrimitiveBaseShape()
{ {

Some files were not shown because too many files have changed in this diff Show More