From 35420b21a3a0a3e8f104f7ce1c9d6c091a8f5212 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Wed, 2 Apr 2008 15:22:39 +0000 Subject: reorganizing namespaces to put all the Data stuff into it's own namespace / dir structure. This is coming in over a few changesets so consider trunk broken for the next 30 minutes as these get pulled together. --- OpenSim/Data/AssetDataBase.cs | 20 ++ OpenSim/Data/DataStoreBase.cs | 10 + OpenSim/Data/GridDataBase.cs | 22 ++ OpenSim/Data/IGridData.cs | 118 ++++++++++ OpenSim/Data/ILogData.cs | 91 ++++++++ OpenSim/Data/IniConfig.cs | 98 ++++++++ OpenSim/Data/InventoryDataBase.cs | 10 + OpenSim/Data/OpenSimDataReader.cs | 64 +++++ OpenSim/Data/OpenSimDatabaseConnector.cs | 57 +++++ OpenSim/Data/OpenSimObjectFieldMapper.cs | 102 ++++++++ OpenSim/Data/OpenSimTableMapper.cs | 40 ++++ OpenSim/Data/PrimitiveBaseShapeTableMapper.cs | 170 ++++++++++++++ OpenSim/Data/Properties/AssemblyInfo.cs | 65 ++++++ OpenSim/Data/RegionProfileData.cs | 257 +++++++++++++++++++++ OpenSim/Data/ReservationData.cs | 47 ++++ OpenSim/Data/UserDataBase.cs | 29 +++ OpenSim/Framework/Data/AssetDataBase.cs | 20 -- OpenSim/Framework/Data/DataStoreBase.cs | 10 - OpenSim/Framework/Data/GridDataBase.cs | 22 -- OpenSim/Framework/Data/IGridData.cs | 118 ---------- OpenSim/Framework/Data/ILogData.cs | 91 -------- OpenSim/Framework/Data/IniConfig.cs | 98 -------- OpenSim/Framework/Data/InventoryDataBase.cs | 10 - OpenSim/Framework/Data/OpenSimDataReader.cs | 64 ----- OpenSim/Framework/Data/OpenSimDatabaseConnector.cs | 57 ----- OpenSim/Framework/Data/OpenSimObjectFieldMapper.cs | 102 -------- OpenSim/Framework/Data/OpenSimTableMapper.cs | 40 ---- .../Data/PrimitiveBaseShapeTableMapper.cs | 170 -------------- OpenSim/Framework/Data/Properties/AssemblyInfo.cs | 65 ------ OpenSim/Framework/Data/RegionProfileData.cs | 257 --------------------- OpenSim/Framework/Data/ReservationData.cs | 47 ---- OpenSim/Framework/Data/UserDataBase.cs | 29 --- 32 files changed, 1200 insertions(+), 1200 deletions(-) create mode 100644 OpenSim/Data/AssetDataBase.cs create mode 100644 OpenSim/Data/DataStoreBase.cs create mode 100644 OpenSim/Data/GridDataBase.cs create mode 100644 OpenSim/Data/IGridData.cs create mode 100644 OpenSim/Data/ILogData.cs create mode 100644 OpenSim/Data/IniConfig.cs create mode 100644 OpenSim/Data/InventoryDataBase.cs create mode 100644 OpenSim/Data/OpenSimDataReader.cs create mode 100644 OpenSim/Data/OpenSimDatabaseConnector.cs create mode 100644 OpenSim/Data/OpenSimObjectFieldMapper.cs create mode 100644 OpenSim/Data/OpenSimTableMapper.cs create mode 100644 OpenSim/Data/PrimitiveBaseShapeTableMapper.cs create mode 100644 OpenSim/Data/Properties/AssemblyInfo.cs create mode 100644 OpenSim/Data/RegionProfileData.cs create mode 100644 OpenSim/Data/ReservationData.cs create mode 100644 OpenSim/Data/UserDataBase.cs delete mode 100644 OpenSim/Framework/Data/AssetDataBase.cs delete mode 100644 OpenSim/Framework/Data/DataStoreBase.cs delete mode 100644 OpenSim/Framework/Data/GridDataBase.cs delete mode 100644 OpenSim/Framework/Data/IGridData.cs delete mode 100644 OpenSim/Framework/Data/ILogData.cs delete mode 100644 OpenSim/Framework/Data/IniConfig.cs delete mode 100644 OpenSim/Framework/Data/InventoryDataBase.cs delete mode 100644 OpenSim/Framework/Data/OpenSimDataReader.cs delete mode 100644 OpenSim/Framework/Data/OpenSimDatabaseConnector.cs delete mode 100644 OpenSim/Framework/Data/OpenSimObjectFieldMapper.cs delete mode 100644 OpenSim/Framework/Data/OpenSimTableMapper.cs delete mode 100644 OpenSim/Framework/Data/PrimitiveBaseShapeTableMapper.cs delete mode 100644 OpenSim/Framework/Data/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/Framework/Data/RegionProfileData.cs delete mode 100644 OpenSim/Framework/Data/ReservationData.cs delete mode 100644 OpenSim/Framework/Data/UserDataBase.cs (limited to 'OpenSim') diff --git a/OpenSim/Data/AssetDataBase.cs b/OpenSim/Data/AssetDataBase.cs new file mode 100644 index 0000000..0f3044e --- /dev/null +++ b/OpenSim/Data/AssetDataBase.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public abstract class AssetDataBase : IAssetProvider + { + public abstract AssetBase FetchAsset(LLUUID uuid); + public abstract void CreateAsset(AssetBase asset); + public abstract void UpdateAsset(AssetBase asset); + public abstract bool ExistsAsset(LLUUID uuid); + public abstract void CommitAssets(); + + public abstract string Version { get; } + public abstract string Name { get; } + public abstract void Initialise(); + } +} diff --git a/OpenSim/Data/DataStoreBase.cs b/OpenSim/Data/DataStoreBase.cs new file mode 100644 index 0000000..92604f2 --- /dev/null +++ b/OpenSim/Data/DataStoreBase.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Framework.Data +{ + public abstract class DataStoreBase + { + } +} diff --git a/OpenSim/Data/GridDataBase.cs b/OpenSim/Data/GridDataBase.cs new file mode 100644 index 0000000..9d6e832 --- /dev/null +++ b/OpenSim/Data/GridDataBase.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public abstract class GridDataBase : IGridData + { + public abstract RegionProfileData GetProfileByHandle(ulong regionHandle); + public abstract RegionProfileData GetProfileByLLUUID(LLUUID UUID); + public abstract RegionProfileData GetProfileByString(string regionName); + public abstract RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); + public abstract bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); + public abstract void Initialise(); + public abstract void Close(); + public abstract string getName(); + public abstract string getVersion(); + public abstract DataResponse AddProfile(RegionProfileData profile); + public abstract ReservationData GetReservationAtPoint(uint x, uint y); + } +} diff --git a/OpenSim/Data/IGridData.cs b/OpenSim/Data/IGridData.cs new file mode 100644 index 0000000..af51d0d --- /dev/null +++ b/OpenSim/Data/IGridData.cs @@ -0,0 +1,118 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections.Generic; +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public enum DataResponse + { + RESPONSE_OK, + RESPONSE_AUTHREQUIRED, + RESPONSE_INVALIDCREDENTIALS, + RESPONSE_ERROR + } + + /// + /// A standard grid interface + /// + public interface IGridData + { + /// + /// Returns a sim profile from a regionHandle + /// + /// A 64bit Region Handle + /// A simprofile + RegionProfileData GetProfileByHandle(ulong regionHandle); + + /// + /// Returns a sim profile from a UUID + /// + /// A 128bit UUID + /// A sim profile + RegionProfileData GetProfileByLLUUID(LLUUID UUID); + + /// + /// Returns a sim profile from a string match + /// + /// A string for a partial region name match + /// A sim profile + RegionProfileData GetProfileByString(string regionName); + + /// + /// Returns all profiles within the specified range + /// + /// Minimum sim coordinate (X) + /// Minimum sim coordinate (Y) + /// Maximum sim coordinate (X) + /// Maximum sim coordinate (Y) + /// An array containing all the sim profiles in the specified range + RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); + + /// + /// Authenticates a sim by use of its recv key. + /// WARNING: Insecure + /// + /// The UUID sent by the sim + /// The regionhandle sent by the sim + /// The receiving key sent by the sim + /// Whether the sim has been authenticated + bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); + + /// + /// Initialises the interface + /// + void Initialise(); + + /// + /// Closes the interface + /// + void Close(); + + /// + /// The plugin being loaded + /// + /// A string containing the plugin name + string getName(); + + /// + /// The plugins version + /// + /// A string containing the plugin version + string getVersion(); + + /// + /// Adds a new profile to the database + /// + /// The profile to add + /// RESPONSE_OK if successful, error if not. + DataResponse AddProfile(RegionProfileData profile); + + ReservationData GetReservationAtPoint(uint x, uint y); + } +} diff --git a/OpenSim/Data/ILogData.cs b/OpenSim/Data/ILogData.cs new file mode 100644 index 0000000..1751ff5 --- /dev/null +++ b/OpenSim/Data/ILogData.cs @@ -0,0 +1,91 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +namespace OpenSim.Framework.Data +{ + /// + /// The severity of an individual log message + /// + public enum LogSeverity : int + { + /// + /// Critical: systems failure + /// + CRITICAL = 1, + /// + /// Major: warning prior to systems failure + /// + MAJOR = 2, + /// + /// Medium: an individual non-critical task failed + /// + MEDIUM = 3, + /// + /// Low: Informational warning + /// + LOW = 4, + /// + /// Info: Information + /// + INFO = 5, + /// + /// Verbose: Debug Information + /// + VERBOSE = 6 + } + + /// + /// An interface to a LogData storage system + /// + public interface ILogData + { + void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, + string logMessage); + + /// + /// Initialises the interface + /// + void Initialise(); + + /// + /// Closes the interface + /// + void Close(); + + /// + /// The plugin being loaded + /// + /// A string containing the plugin name + string getName(); + + /// + /// The plugins version + /// + /// A string containing the plugin version + string getVersion(); + } +} diff --git a/OpenSim/Data/IniConfig.cs b/OpenSim/Data/IniConfig.cs new file mode 100644 index 0000000..47e96c8 --- /dev/null +++ b/OpenSim/Data/IniConfig.cs @@ -0,0 +1,98 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.IO; +using System.Text.RegularExpressions; + +/* + Taken from public code listing at by Alex Pinsker + http://alexpinsker.blogspot.com/2005/12/reading-ini-file-from-c_113432097333021549.html + */ + +namespace OpenSim.Framework.Data +{ + /// + /// Parse settings from ini-like files + /// + public class IniFile + { + static IniFile() + { + _iniKeyValuePatternRegex = new Regex( + @"((\s)*(?([^\=^\s^\n]+))[\s^\n]* + # key part (surrounding whitespace stripped) + \= + (\s)*(?([^\n^\s]+(\n){0,1}))) + # value part (surrounding whitespace stripped) + ", + RegexOptions.IgnorePatternWhitespace | + RegexOptions.Compiled | + RegexOptions.CultureInvariant); + } + + private static Regex _iniKeyValuePatternRegex; + + public IniFile(string iniFileName) + { + _iniFileName = iniFileName; + } + + public string ParseFileReadValue(string key) + { + using (StreamReader reader = + new StreamReader(_iniFileName)) + { + do + { + string line = reader.ReadLine(); + Match match = + _iniKeyValuePatternRegex.Match(line); + if (match.Success) + { + string currentKey = + match.Groups["Key"].Value as string; + if (currentKey != null && + currentKey.Trim().CompareTo(key) == 0) + { + string value = + match.Groups["Value"].Value as string; + return value; + } + } + } while (reader.Peek() != -1); + } + return null; + } + + public string IniFileName + { + get { return _iniFileName; } + } + + private string _iniFileName; + } +} diff --git a/OpenSim/Data/InventoryDataBase.cs b/OpenSim/Data/InventoryDataBase.cs new file mode 100644 index 0000000..afddbf1 --- /dev/null +++ b/OpenSim/Data/InventoryDataBase.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Framework.Data +{ + public abstract class InventoryDataBase + { + } +} diff --git a/OpenSim/Data/OpenSimDataReader.cs b/OpenSim/Data/OpenSimDataReader.cs new file mode 100644 index 0000000..538af8f --- /dev/null +++ b/OpenSim/Data/OpenSimDataReader.cs @@ -0,0 +1,64 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Data; +using libsecondlife; +using OpenSim.Framework.Data.Base; + +namespace OpenSim.Framework.Data +{ + public class OpenSimDataReader : BaseDataReader + { + public OpenSimDataReader(IDataReader source) : base(source) + { + } + + public LLVector3 GetVector(string s) + { + float x = GetFloat(s + "X"); + float y = GetFloat(s + "Y"); + float z = GetFloat(s + "Z"); + + LLVector3 vector = new LLVector3(x, y, z); + + return vector; + } + + public LLQuaternion GetQuaternion(string s) + { + float x = GetFloat(s + "X"); + float y = GetFloat(s + "Y"); + float z = GetFloat(s + "Z"); + float w = GetFloat(s + "W"); + + LLQuaternion quaternion = new LLQuaternion(x, y, z, w); + + return quaternion; + } + } +} diff --git a/OpenSim/Data/OpenSimDatabaseConnector.cs b/OpenSim/Data/OpenSimDatabaseConnector.cs new file mode 100644 index 0000000..809fd1e --- /dev/null +++ b/OpenSim/Data/OpenSimDatabaseConnector.cs @@ -0,0 +1,57 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Data; +using System.Data.Common; +using libsecondlife; + +using OpenSim.Framework.Data.Base; + +namespace OpenSim.Framework.Data +{ + public abstract class OpenSimDatabaseConnector : BaseDatabaseConnector + { + public OpenSimDatabaseConnector(string connectionString) : base(connectionString) + { + } + + public override object ConvertToDbType(object value) + { + if (value is LLUUID) + { + return ((LLUUID) value).UUID.ToString(); + } + + return base.ConvertToDbType(value); + } + + public override BaseDataReader CreateReader(IDataReader reader) + { + return new OpenSimDataReader(reader); + } + } +} diff --git a/OpenSim/Data/OpenSimObjectFieldMapper.cs b/OpenSim/Data/OpenSimObjectFieldMapper.cs new file mode 100644 index 0000000..dfcca1b --- /dev/null +++ b/OpenSim/Data/OpenSimObjectFieldMapper.cs @@ -0,0 +1,102 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.Text; +using libsecondlife; + +using OpenSim.Framework.Data.Base; + +namespace OpenSim.Framework.Data +{ + public class OpenSimObjectFieldMapper : ObjectField + { + public OpenSimObjectFieldMapper(BaseTableMapper tableMapper, string fieldName, + ObjectGetAccessor rowMapperGetAccessor, + ObjectSetAccessor rowMapperSetAccessor) + : base(tableMapper, fieldName, rowMapperGetAccessor, rowMapperSetAccessor) + { + } + + public override void ExpandField(TObj obj, DbCommand command, List fieldNames) + { + string fieldName = FieldName; + object value = GetParamValue(obj); + + if (ValueType == typeof(LLVector3)) + { + LLVector3 vector = (LLVector3)value; + + RawAddParam(command, fieldNames, fieldName + "X", vector.X); + RawAddParam(command, fieldNames, fieldName + "Y", vector.Y); + RawAddParam(command, fieldNames, fieldName + "Z", vector.Z); + } + else if (ValueType == typeof(LLQuaternion)) + { + LLQuaternion quaternion = (LLQuaternion)value; + + RawAddParam(command, fieldNames, fieldName + "X", quaternion.X); + RawAddParam(command, fieldNames, fieldName + "Y", quaternion.Y); + RawAddParam(command, fieldNames, fieldName + "Z", quaternion.Z); + RawAddParam(command, fieldNames, fieldName + "W", quaternion.W); + } + else + { + base.ExpandField(obj, command, fieldNames); + } + } + + protected override object GetValue(BaseDataReader reader) + { + object value; + + OpenSimDataReader osreader = (OpenSimDataReader) reader; + + if (ValueType == typeof(LLVector3)) + { + value = osreader.GetVector(FieldName); + } + else if (ValueType == typeof(LLQuaternion)) + { + value = osreader.GetQuaternion(FieldName); + } + else if (ValueType == typeof(LLUUID)) + { + Guid guid = reader.GetGuid(FieldName); + value = new LLUUID(guid); + } + else + { + value = base.GetValue(reader); + } + + return value; + } + } +} diff --git a/OpenSim/Data/OpenSimTableMapper.cs b/OpenSim/Data/OpenSimTableMapper.cs new file mode 100644 index 0000000..cd3d1af --- /dev/null +++ b/OpenSim/Data/OpenSimTableMapper.cs @@ -0,0 +1,40 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Data; + +using OpenSim.Framework.Data.Base; + +namespace OpenSim.Framework.Data +{ + public abstract class OpenSimTableMapper : BaseTableMapper + { + public OpenSimTableMapper(BaseDatabaseConnector database, string tableName) : base(database, tableName) + { + } + } +} diff --git a/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs b/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs new file mode 100644 index 0000000..51adf89 --- /dev/null +++ b/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs @@ -0,0 +1,170 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using OpenSim.Framework; +using OpenSim.Framework.Data.Base; +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public class PrimitiveBaseShapeRowMapper : BaseRowMapper + { + public Guid SceneObjectPartId; + + public PrimitiveBaseShapeRowMapper(BaseSchema schema, PrimitiveBaseShape obj) : base(schema, obj) + { + } + } + + public class PrimitiveBaseShapeTableMapper : OpenSimTableMapper + { + public PrimitiveBaseShapeTableMapper(BaseDatabaseConnector connection, string tableName) + : base(connection, tableName) + { + BaseSchema rowMapperSchema = new BaseSchema(this); + m_schema = rowMapperSchema; + + m_keyFieldMapper = rowMapperSchema.AddMapping("SceneObjectPartId", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.SceneObjectPartId; }, + delegate(PrimitiveBaseShapeRowMapper shape, Guid value) { shape.SceneObjectPartId = value; }); + + rowMapperSchema.AddMapping("PCode", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PCode; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PCode = value; }); + + rowMapperSchema.AddMapping("PathBegin", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathBegin; }, + delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathBegin = value; }); + + rowMapperSchema.AddMapping("PathEnd", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathEnd; }, + delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathEnd = value; }); + + rowMapperSchema.AddMapping("PathScaleX", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleX; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleX = value; }); + + rowMapperSchema.AddMapping("PathScaleY", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleY; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleY = value; }); + + rowMapperSchema.AddMapping("PathShearX", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearX; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearX = value; }); + + rowMapperSchema.AddMapping("PathShearY", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearY; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearY = value; }); + + rowMapperSchema.AddMapping("ProfileBegin", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileBegin; }, + delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileBegin = value; }); + + rowMapperSchema.AddMapping("ProfileEnd", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileEnd; }, + delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileEnd = value; }); + + rowMapperSchema.AddMapping("Scale", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.Scale; }, + delegate(PrimitiveBaseShapeRowMapper shape, LLVector3 value) { shape.Object.Scale = value; }); + + rowMapperSchema.AddMapping("PathTaperX", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperX; }, + delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperX = value; }); + + rowMapperSchema.AddMapping("PathTaperY", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperY; }, + delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperY = value; }); + + rowMapperSchema.AddMapping("PathTwist", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwist; }, + delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwist = value; }); + + rowMapperSchema.AddMapping("PathRadiusOffset", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRadiusOffset; }, + delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathRadiusOffset = value; }); + + rowMapperSchema.AddMapping("PathRevolutions", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRevolutions; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathRevolutions = value; }); + + rowMapperSchema.AddMapping("PathTwistBegin", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwistBegin; }, + delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwistBegin = value; }); + + rowMapperSchema.AddMapping("PathCurve", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathCurve; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathCurve = value; }); + + rowMapperSchema.AddMapping("ProfileCurve", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileCurve; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.ProfileCurve = value; }); + + rowMapperSchema.AddMapping("ProfileHollow", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileHollow; }, + delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileHollow = value; }); + + rowMapperSchema.AddMapping("TextureEntry", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.TextureEntry; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.TextureEntry = value; }); + + rowMapperSchema.AddMapping("ExtraParams", + delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ExtraParams; }, + delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.ExtraParams = value; }); + } + + public override PrimitiveBaseShapeRowMapper FromReader(BaseDataReader reader) + { + PrimitiveBaseShape shape = new PrimitiveBaseShape(); + + PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper(m_schema, shape); + mapper.FillObject( reader ); + + return mapper; + } + + public bool Update(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) + { + PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); + return Update(sceneObjectPartId, mapper); + } + + public bool Add(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) + { + PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); + return Add(mapper); + } + + private PrimitiveBaseShapeRowMapper CreateRowMapper(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) + { + PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper( m_schema, primitiveBaseShape ); + mapper.SceneObjectPartId = sceneObjectPartId; + return mapper; + } + } +} diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7b65a09 --- /dev/null +++ b/OpenSim/Data/Properties/AssemblyInfo.cs @@ -0,0 +1,65 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. + +[assembly : AssemblyTitle("OpenSim.Framework.Data")] +[assembly : AssemblyDescription("")] +[assembly : AssemblyConfiguration("")] +[assembly : AssemblyCompany("")] +[assembly : AssemblyProduct("OpenSim.Framework.Data")] +[assembly : AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2008")] +[assembly : AssemblyTrademark("")] +[assembly : AssemblyCulture("")] + +// 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 +// COM, set the ComVisible attribute to true on that type. + +[assembly : ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM + +[assembly : Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly : AssemblyVersion("1.0.0.0")] +[assembly : AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Data/RegionProfileData.cs b/OpenSim/Data/RegionProfileData.cs new file mode 100644 index 0000000..96351e0 --- /dev/null +++ b/OpenSim/Data/RegionProfileData.cs @@ -0,0 +1,257 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using libsecondlife; +using Nwc.XmlRpc; + +namespace OpenSim.Framework.Data +{ + /// + /// A class which contains information known to the grid server about a region + /// + public class RegionProfileData + { + /// + /// The name of the region + /// + public string regionName = String.Empty; + + /// + /// A 64-bit number combining map position into a (mostly) unique ID + /// + public ulong regionHandle; + + /// + /// OGS/OpenSim Specific ID for a region + /// + public LLUUID UUID; + + /// + /// Coordinates of the region + /// + public uint regionLocX; + public uint regionLocY; + public uint regionLocZ; // Reserved (round-robin, layers, etc) + + /// + /// Authentication secrets + /// + /// Not very secure, needs improvement. + public string regionSendKey = String.Empty; + public string regionRecvKey = String.Empty; + public string regionSecret = String.Empty; + + /// + /// Whether the region is online + /// + public bool regionOnline; + + /// + /// Information about the server that the region is currently hosted on + /// + public string serverIP = String.Empty; + public uint serverPort; + public string serverURI = String.Empty; + + public uint httpPort; + public uint remotingPort; + public string httpServerURI = String.Empty; + + /// + /// Set of optional overrides. Can be used to create non-eulicidean spaces. + /// + public ulong regionNorthOverrideHandle; + public ulong regionSouthOverrideHandle; + public ulong regionEastOverrideHandle; + public ulong regionWestOverrideHandle; + + /// + /// Optional: URI Location of the region database + /// + /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server + public string regionDataURI = String.Empty; + + /// + /// Region Asset Details + /// + public string regionAssetURI = String.Empty; + + public string regionAssetSendKey = String.Empty; + public string regionAssetRecvKey = String.Empty; + + /// + /// Region Userserver Details + /// + public string regionUserURI = String.Empty; + + public string regionUserSendKey = String.Empty; + public string regionUserRecvKey = String.Empty; + + /// + /// Region Map Texture Asset + /// + public LLUUID regionMapTextureID = new LLUUID("00000000-0000-1111-9999-000000000006"); + + /// + /// this particular mod to the file provides support within the spec for RegionProfileData for the + /// owner_uuid for the region + /// + public LLUUID owner_uuid = LLUUID.Zero; + + /// + /// OGS/OpenSim Specific original ID for a region after move/split + /// + public LLUUID originUUID; + + /// + /// Get Sim profile data from grid server when in grid mode + /// + /// + /// + /// + /// + public RegionProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, + string gridserver_sendkey, string gridserver_recvkey) + { + Hashtable requestData = new Hashtable(); + requestData["region_uuid"] = region_uuid.UUID.ToString(); + requestData["authkey"] = gridserver_sendkey; + ArrayList SendParams = new ArrayList(); + SendParams.Add(requestData); + XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); + XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); + + Hashtable responseData = (Hashtable) GridResp.Value; + + if (responseData.ContainsKey("error")) + { + return null; + } + + RegionProfileData simData = new RegionProfileData(); + simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); + simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); + simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); + simData.serverIP = (string) responseData["sim_ip"]; + simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); + simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); + simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); + simData.serverURI = (string)responseData["server_uri"]; + simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; + simData.UUID = new LLUUID((string) responseData["region_UUID"]); + simData.regionName = (string) responseData["region_name"]; + + return simData; + } + + /// + /// Request sim profile information from a grid server + /// + /// + /// + /// + /// + /// The sim profile. Null if there was a request failure + public static RegionProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, + string gridserver_sendkey, string gridserver_recvkey) + { + Hashtable requestData = new Hashtable(); + requestData["region_handle"] = region_handle.ToString(); + requestData["authkey"] = gridserver_sendkey; + ArrayList SendParams = new ArrayList(); + SendParams.Add(requestData); + XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); + XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); + + Hashtable responseData = (Hashtable) GridResp.Value; + + if (responseData.ContainsKey("error")) + { + return null; + } + + RegionProfileData simData = new RegionProfileData(); + simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); + simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); + simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); + simData.serverIP = (string) responseData["sim_ip"]; + simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); + simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); + simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); + simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; + simData.serverURI = (string)responseData["server_uri"]; + simData.UUID = new LLUUID((string) responseData["region_UUID"]); + simData.regionName = (string) responseData["region_name"]; + + return simData; + } + + /// + /// Request sim profile information from a grid server + /// + /// + /// + /// + /// + /// The sim profile. Null if there was a request failure + public static RegionProfileData RequestSimProfileData(string regionName, string gridserver_url, + string gridserver_sendkey, string gridserver_recvkey) + { + Hashtable requestData = new Hashtable(); + requestData["region_name_search"] = regionName; + requestData["authkey"] = gridserver_sendkey; + ArrayList SendParams = new ArrayList(); + SendParams.Add(requestData); + XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); + XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); + + Hashtable responseData = (Hashtable)GridResp.Value; + + if (responseData.ContainsKey("error")) + { + return null; + } + + RegionProfileData simData = new RegionProfileData(); + simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]); + simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]); + simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); + simData.serverIP = (string)responseData["sim_ip"]; + simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]); + simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]); + simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); + simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; + simData.serverURI = (string)responseData["server_uri"]; + simData.UUID = new LLUUID((string)responseData["region_UUID"]); + simData.regionName = (string)responseData["region_name"]; + + return simData; + } + } +} diff --git a/OpenSim/Data/ReservationData.cs b/OpenSim/Data/ReservationData.cs new file mode 100644 index 0000000..0c2cff3 --- /dev/null +++ b/OpenSim/Data/ReservationData.cs @@ -0,0 +1,47 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public class ReservationData + { + public LLUUID userUUID = LLUUID.Zero; + public int reservationMinX = 0; + public int reservationMinY = 0; + public int reservationMaxX = 65536; + public int reservationMaxY = 65536; + + public string reservationName = System.String.Empty; + public string reservationCompany = System.String.Empty; + public bool status = true; + + public string gridSendKey = System.String.Empty; + public string gridRecvKey = System.String.Empty; + } +} diff --git a/OpenSim/Data/UserDataBase.cs b/OpenSim/Data/UserDataBase.cs new file mode 100644 index 0000000..5e0be45 --- /dev/null +++ b/OpenSim/Data/UserDataBase.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using libsecondlife; + +namespace OpenSim.Framework.Data +{ + public abstract class UserDataBase : IUserData + { + public abstract UserProfileData GetUserByUUID(LLUUID user); + public abstract UserProfileData GetUserByName(string fname, string lname); + public abstract UserAgentData GetAgentByUUID(LLUUID user); + public abstract UserAgentData GetAgentByName(string name); + public abstract UserAgentData GetAgentByName(string fname, string lname); + public abstract void StoreWebLoginKey(LLUUID agentID, LLUUID webLoginKey); + public abstract void AddNewUserProfile(UserProfileData user); + public abstract bool UpdateUserProfile(UserProfileData user); + public abstract void UpdateUserCurrentRegion(LLUUID avatarid, LLUUID regionuuid); + public abstract void AddNewUserAgent(UserAgentData agent); + public abstract void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms); + public abstract void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend); + public abstract void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms); + public abstract List GetUserFriendList(LLUUID friendlistowner); + public abstract bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount); + public abstract bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); + public abstract string GetVersion(); + public abstract string getName(); + public abstract void Initialise(); + public abstract List GeneratePickerResults(LLUUID queryID, string query); + } +} diff --git a/OpenSim/Framework/Data/AssetDataBase.cs b/OpenSim/Framework/Data/AssetDataBase.cs deleted file mode 100644 index 0f3044e..0000000 --- a/OpenSim/Framework/Data/AssetDataBase.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public abstract class AssetDataBase : IAssetProvider - { - public abstract AssetBase FetchAsset(LLUUID uuid); - public abstract void CreateAsset(AssetBase asset); - public abstract void UpdateAsset(AssetBase asset); - public abstract bool ExistsAsset(LLUUID uuid); - public abstract void CommitAssets(); - - public abstract string Version { get; } - public abstract string Name { get; } - public abstract void Initialise(); - } -} diff --git a/OpenSim/Framework/Data/DataStoreBase.cs b/OpenSim/Framework/Data/DataStoreBase.cs deleted file mode 100644 index 92604f2..0000000 --- a/OpenSim/Framework/Data/DataStoreBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Framework.Data -{ - public abstract class DataStoreBase - { - } -} diff --git a/OpenSim/Framework/Data/GridDataBase.cs b/OpenSim/Framework/Data/GridDataBase.cs deleted file mode 100644 index 9d6e832..0000000 --- a/OpenSim/Framework/Data/GridDataBase.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public abstract class GridDataBase : IGridData - { - public abstract RegionProfileData GetProfileByHandle(ulong regionHandle); - public abstract RegionProfileData GetProfileByLLUUID(LLUUID UUID); - public abstract RegionProfileData GetProfileByString(string regionName); - public abstract RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); - public abstract bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); - public abstract void Initialise(); - public abstract void Close(); - public abstract string getName(); - public abstract string getVersion(); - public abstract DataResponse AddProfile(RegionProfileData profile); - public abstract ReservationData GetReservationAtPoint(uint x, uint y); - } -} diff --git a/OpenSim/Framework/Data/IGridData.cs b/OpenSim/Framework/Data/IGridData.cs deleted file mode 100644 index af51d0d..0000000 --- a/OpenSim/Framework/Data/IGridData.cs +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Collections.Generic; -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public enum DataResponse - { - RESPONSE_OK, - RESPONSE_AUTHREQUIRED, - RESPONSE_INVALIDCREDENTIALS, - RESPONSE_ERROR - } - - /// - /// A standard grid interface - /// - public interface IGridData - { - /// - /// Returns a sim profile from a regionHandle - /// - /// A 64bit Region Handle - /// A simprofile - RegionProfileData GetProfileByHandle(ulong regionHandle); - - /// - /// Returns a sim profile from a UUID - /// - /// A 128bit UUID - /// A sim profile - RegionProfileData GetProfileByLLUUID(LLUUID UUID); - - /// - /// Returns a sim profile from a string match - /// - /// A string for a partial region name match - /// A sim profile - RegionProfileData GetProfileByString(string regionName); - - /// - /// Returns all profiles within the specified range - /// - /// Minimum sim coordinate (X) - /// Minimum sim coordinate (Y) - /// Maximum sim coordinate (X) - /// Maximum sim coordinate (Y) - /// An array containing all the sim profiles in the specified range - RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); - - /// - /// Authenticates a sim by use of its recv key. - /// WARNING: Insecure - /// - /// The UUID sent by the sim - /// The regionhandle sent by the sim - /// The receiving key sent by the sim - /// Whether the sim has been authenticated - bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); - - /// - /// Initialises the interface - /// - void Initialise(); - - /// - /// Closes the interface - /// - void Close(); - - /// - /// The plugin being loaded - /// - /// A string containing the plugin name - string getName(); - - /// - /// The plugins version - /// - /// A string containing the plugin version - string getVersion(); - - /// - /// Adds a new profile to the database - /// - /// The profile to add - /// RESPONSE_OK if successful, error if not. - DataResponse AddProfile(RegionProfileData profile); - - ReservationData GetReservationAtPoint(uint x, uint y); - } -} diff --git a/OpenSim/Framework/Data/ILogData.cs b/OpenSim/Framework/Data/ILogData.cs deleted file mode 100644 index 1751ff5..0000000 --- a/OpenSim/Framework/Data/ILogData.cs +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OpenSim.Framework.Data -{ - /// - /// The severity of an individual log message - /// - public enum LogSeverity : int - { - /// - /// Critical: systems failure - /// - CRITICAL = 1, - /// - /// Major: warning prior to systems failure - /// - MAJOR = 2, - /// - /// Medium: an individual non-critical task failed - /// - MEDIUM = 3, - /// - /// Low: Informational warning - /// - LOW = 4, - /// - /// Info: Information - /// - INFO = 5, - /// - /// Verbose: Debug Information - /// - VERBOSE = 6 - } - - /// - /// An interface to a LogData storage system - /// - public interface ILogData - { - void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, - string logMessage); - - /// - /// Initialises the interface - /// - void Initialise(); - - /// - /// Closes the interface - /// - void Close(); - - /// - /// The plugin being loaded - /// - /// A string containing the plugin name - string getName(); - - /// - /// The plugins version - /// - /// A string containing the plugin version - string getVersion(); - } -} diff --git a/OpenSim/Framework/Data/IniConfig.cs b/OpenSim/Framework/Data/IniConfig.cs deleted file mode 100644 index 47e96c8..0000000 --- a/OpenSim/Framework/Data/IniConfig.cs +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.IO; -using System.Text.RegularExpressions; - -/* - Taken from public code listing at by Alex Pinsker - http://alexpinsker.blogspot.com/2005/12/reading-ini-file-from-c_113432097333021549.html - */ - -namespace OpenSim.Framework.Data -{ - /// - /// Parse settings from ini-like files - /// - public class IniFile - { - static IniFile() - { - _iniKeyValuePatternRegex = new Regex( - @"((\s)*(?([^\=^\s^\n]+))[\s^\n]* - # key part (surrounding whitespace stripped) - \= - (\s)*(?([^\n^\s]+(\n){0,1}))) - # value part (surrounding whitespace stripped) - ", - RegexOptions.IgnorePatternWhitespace | - RegexOptions.Compiled | - RegexOptions.CultureInvariant); - } - - private static Regex _iniKeyValuePatternRegex; - - public IniFile(string iniFileName) - { - _iniFileName = iniFileName; - } - - public string ParseFileReadValue(string key) - { - using (StreamReader reader = - new StreamReader(_iniFileName)) - { - do - { - string line = reader.ReadLine(); - Match match = - _iniKeyValuePatternRegex.Match(line); - if (match.Success) - { - string currentKey = - match.Groups["Key"].Value as string; - if (currentKey != null && - currentKey.Trim().CompareTo(key) == 0) - { - string value = - match.Groups["Value"].Value as string; - return value; - } - } - } while (reader.Peek() != -1); - } - return null; - } - - public string IniFileName - { - get { return _iniFileName; } - } - - private string _iniFileName; - } -} diff --git a/OpenSim/Framework/Data/InventoryDataBase.cs b/OpenSim/Framework/Data/InventoryDataBase.cs deleted file mode 100644 index afddbf1..0000000 --- a/OpenSim/Framework/Data/InventoryDataBase.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Framework.Data -{ - public abstract class InventoryDataBase - { - } -} diff --git a/OpenSim/Framework/Data/OpenSimDataReader.cs b/OpenSim/Framework/Data/OpenSimDataReader.cs deleted file mode 100644 index 538af8f..0000000 --- a/OpenSim/Framework/Data/OpenSimDataReader.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Data; -using libsecondlife; -using OpenSim.Framework.Data.Base; - -namespace OpenSim.Framework.Data -{ - public class OpenSimDataReader : BaseDataReader - { - public OpenSimDataReader(IDataReader source) : base(source) - { - } - - public LLVector3 GetVector(string s) - { - float x = GetFloat(s + "X"); - float y = GetFloat(s + "Y"); - float z = GetFloat(s + "Z"); - - LLVector3 vector = new LLVector3(x, y, z); - - return vector; - } - - public LLQuaternion GetQuaternion(string s) - { - float x = GetFloat(s + "X"); - float y = GetFloat(s + "Y"); - float z = GetFloat(s + "Z"); - float w = GetFloat(s + "W"); - - LLQuaternion quaternion = new LLQuaternion(x, y, z, w); - - return quaternion; - } - } -} diff --git a/OpenSim/Framework/Data/OpenSimDatabaseConnector.cs b/OpenSim/Framework/Data/OpenSimDatabaseConnector.cs deleted file mode 100644 index 809fd1e..0000000 --- a/OpenSim/Framework/Data/OpenSimDatabaseConnector.cs +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Data; -using System.Data.Common; -using libsecondlife; - -using OpenSim.Framework.Data.Base; - -namespace OpenSim.Framework.Data -{ - public abstract class OpenSimDatabaseConnector : BaseDatabaseConnector - { - public OpenSimDatabaseConnector(string connectionString) : base(connectionString) - { - } - - public override object ConvertToDbType(object value) - { - if (value is LLUUID) - { - return ((LLUUID) value).UUID.ToString(); - } - - return base.ConvertToDbType(value); - } - - public override BaseDataReader CreateReader(IDataReader reader) - { - return new OpenSimDataReader(reader); - } - } -} diff --git a/OpenSim/Framework/Data/OpenSimObjectFieldMapper.cs b/OpenSim/Framework/Data/OpenSimObjectFieldMapper.cs deleted file mode 100644 index dfcca1b..0000000 --- a/OpenSim/Framework/Data/OpenSimObjectFieldMapper.cs +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Data.Common; -using System.Text; -using libsecondlife; - -using OpenSim.Framework.Data.Base; - -namespace OpenSim.Framework.Data -{ - public class OpenSimObjectFieldMapper : ObjectField - { - public OpenSimObjectFieldMapper(BaseTableMapper tableMapper, string fieldName, - ObjectGetAccessor rowMapperGetAccessor, - ObjectSetAccessor rowMapperSetAccessor) - : base(tableMapper, fieldName, rowMapperGetAccessor, rowMapperSetAccessor) - { - } - - public override void ExpandField(TObj obj, DbCommand command, List fieldNames) - { - string fieldName = FieldName; - object value = GetParamValue(obj); - - if (ValueType == typeof(LLVector3)) - { - LLVector3 vector = (LLVector3)value; - - RawAddParam(command, fieldNames, fieldName + "X", vector.X); - RawAddParam(command, fieldNames, fieldName + "Y", vector.Y); - RawAddParam(command, fieldNames, fieldName + "Z", vector.Z); - } - else if (ValueType == typeof(LLQuaternion)) - { - LLQuaternion quaternion = (LLQuaternion)value; - - RawAddParam(command, fieldNames, fieldName + "X", quaternion.X); - RawAddParam(command, fieldNames, fieldName + "Y", quaternion.Y); - RawAddParam(command, fieldNames, fieldName + "Z", quaternion.Z); - RawAddParam(command, fieldNames, fieldName + "W", quaternion.W); - } - else - { - base.ExpandField(obj, command, fieldNames); - } - } - - protected override object GetValue(BaseDataReader reader) - { - object value; - - OpenSimDataReader osreader = (OpenSimDataReader) reader; - - if (ValueType == typeof(LLVector3)) - { - value = osreader.GetVector(FieldName); - } - else if (ValueType == typeof(LLQuaternion)) - { - value = osreader.GetQuaternion(FieldName); - } - else if (ValueType == typeof(LLUUID)) - { - Guid guid = reader.GetGuid(FieldName); - value = new LLUUID(guid); - } - else - { - value = base.GetValue(reader); - } - - return value; - } - } -} diff --git a/OpenSim/Framework/Data/OpenSimTableMapper.cs b/OpenSim/Framework/Data/OpenSimTableMapper.cs deleted file mode 100644 index cd3d1af..0000000 --- a/OpenSim/Framework/Data/OpenSimTableMapper.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Data; - -using OpenSim.Framework.Data.Base; - -namespace OpenSim.Framework.Data -{ - public abstract class OpenSimTableMapper : BaseTableMapper - { - public OpenSimTableMapper(BaseDatabaseConnector database, string tableName) : base(database, tableName) - { - } - } -} diff --git a/OpenSim/Framework/Data/PrimitiveBaseShapeTableMapper.cs b/OpenSim/Framework/Data/PrimitiveBaseShapeTableMapper.cs deleted file mode 100644 index 51adf89..0000000 --- a/OpenSim/Framework/Data/PrimitiveBaseShapeTableMapper.cs +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using OpenSim.Framework; -using OpenSim.Framework.Data.Base; -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public class PrimitiveBaseShapeRowMapper : BaseRowMapper - { - public Guid SceneObjectPartId; - - public PrimitiveBaseShapeRowMapper(BaseSchema schema, PrimitiveBaseShape obj) : base(schema, obj) - { - } - } - - public class PrimitiveBaseShapeTableMapper : OpenSimTableMapper - { - public PrimitiveBaseShapeTableMapper(BaseDatabaseConnector connection, string tableName) - : base(connection, tableName) - { - BaseSchema rowMapperSchema = new BaseSchema(this); - m_schema = rowMapperSchema; - - m_keyFieldMapper = rowMapperSchema.AddMapping("SceneObjectPartId", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.SceneObjectPartId; }, - delegate(PrimitiveBaseShapeRowMapper shape, Guid value) { shape.SceneObjectPartId = value; }); - - rowMapperSchema.AddMapping("PCode", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PCode; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PCode = value; }); - - rowMapperSchema.AddMapping("PathBegin", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathBegin; }, - delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathBegin = value; }); - - rowMapperSchema.AddMapping("PathEnd", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathEnd; }, - delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathEnd = value; }); - - rowMapperSchema.AddMapping("PathScaleX", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleX; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleX = value; }); - - rowMapperSchema.AddMapping("PathScaleY", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleY; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleY = value; }); - - rowMapperSchema.AddMapping("PathShearX", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearX; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearX = value; }); - - rowMapperSchema.AddMapping("PathShearY", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearY; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearY = value; }); - - rowMapperSchema.AddMapping("ProfileBegin", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileBegin; }, - delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileBegin = value; }); - - rowMapperSchema.AddMapping("ProfileEnd", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileEnd; }, - delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileEnd = value; }); - - rowMapperSchema.AddMapping("Scale", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.Scale; }, - delegate(PrimitiveBaseShapeRowMapper shape, LLVector3 value) { shape.Object.Scale = value; }); - - rowMapperSchema.AddMapping("PathTaperX", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperX; }, - delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperX = value; }); - - rowMapperSchema.AddMapping("PathTaperY", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperY; }, - delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperY = value; }); - - rowMapperSchema.AddMapping("PathTwist", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwist; }, - delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwist = value; }); - - rowMapperSchema.AddMapping("PathRadiusOffset", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRadiusOffset; }, - delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathRadiusOffset = value; }); - - rowMapperSchema.AddMapping("PathRevolutions", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRevolutions; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathRevolutions = value; }); - - rowMapperSchema.AddMapping("PathTwistBegin", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwistBegin; }, - delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwistBegin = value; }); - - rowMapperSchema.AddMapping("PathCurve", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathCurve; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathCurve = value; }); - - rowMapperSchema.AddMapping("ProfileCurve", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileCurve; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.ProfileCurve = value; }); - - rowMapperSchema.AddMapping("ProfileHollow", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileHollow; }, - delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileHollow = value; }); - - rowMapperSchema.AddMapping("TextureEntry", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.TextureEntry; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.TextureEntry = value; }); - - rowMapperSchema.AddMapping("ExtraParams", - delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ExtraParams; }, - delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.ExtraParams = value; }); - } - - public override PrimitiveBaseShapeRowMapper FromReader(BaseDataReader reader) - { - PrimitiveBaseShape shape = new PrimitiveBaseShape(); - - PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper(m_schema, shape); - mapper.FillObject( reader ); - - return mapper; - } - - public bool Update(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) - { - PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); - return Update(sceneObjectPartId, mapper); - } - - public bool Add(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) - { - PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); - return Add(mapper); - } - - private PrimitiveBaseShapeRowMapper CreateRowMapper(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) - { - PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper( m_schema, primitiveBaseShape ); - mapper.SceneObjectPartId = sceneObjectPartId; - return mapper; - } - } -} diff --git a/OpenSim/Framework/Data/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data/Properties/AssemblyInfo.cs deleted file mode 100644 index 7b65a09..0000000 --- a/OpenSim/Framework/Data/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. - -[assembly : AssemblyTitle("OpenSim.Framework.Data")] -[assembly : AssemblyDescription("")] -[assembly : AssemblyConfiguration("")] -[assembly : AssemblyCompany("")] -[assembly : AssemblyProduct("OpenSim.Framework.Data")] -[assembly : AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2008")] -[assembly : AssemblyTrademark("")] -[assembly : AssemblyCulture("")] - -// 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 -// COM, set the ComVisible attribute to true on that type. - -[assembly : ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM - -[assembly : Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly : AssemblyVersion("1.0.0.0")] -[assembly : AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Data/RegionProfileData.cs b/OpenSim/Framework/Data/RegionProfileData.cs deleted file mode 100644 index 96351e0..0000000 --- a/OpenSim/Framework/Data/RegionProfileData.cs +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections; -using libsecondlife; -using Nwc.XmlRpc; - -namespace OpenSim.Framework.Data -{ - /// - /// A class which contains information known to the grid server about a region - /// - public class RegionProfileData - { - /// - /// The name of the region - /// - public string regionName = String.Empty; - - /// - /// A 64-bit number combining map position into a (mostly) unique ID - /// - public ulong regionHandle; - - /// - /// OGS/OpenSim Specific ID for a region - /// - public LLUUID UUID; - - /// - /// Coordinates of the region - /// - public uint regionLocX; - public uint regionLocY; - public uint regionLocZ; // Reserved (round-robin, layers, etc) - - /// - /// Authentication secrets - /// - /// Not very secure, needs improvement. - public string regionSendKey = String.Empty; - public string regionRecvKey = String.Empty; - public string regionSecret = String.Empty; - - /// - /// Whether the region is online - /// - public bool regionOnline; - - /// - /// Information about the server that the region is currently hosted on - /// - public string serverIP = String.Empty; - public uint serverPort; - public string serverURI = String.Empty; - - public uint httpPort; - public uint remotingPort; - public string httpServerURI = String.Empty; - - /// - /// Set of optional overrides. Can be used to create non-eulicidean spaces. - /// - public ulong regionNorthOverrideHandle; - public ulong regionSouthOverrideHandle; - public ulong regionEastOverrideHandle; - public ulong regionWestOverrideHandle; - - /// - /// Optional: URI Location of the region database - /// - /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server - public string regionDataURI = String.Empty; - - /// - /// Region Asset Details - /// - public string regionAssetURI = String.Empty; - - public string regionAssetSendKey = String.Empty; - public string regionAssetRecvKey = String.Empty; - - /// - /// Region Userserver Details - /// - public string regionUserURI = String.Empty; - - public string regionUserSendKey = String.Empty; - public string regionUserRecvKey = String.Empty; - - /// - /// Region Map Texture Asset - /// - public LLUUID regionMapTextureID = new LLUUID("00000000-0000-1111-9999-000000000006"); - - /// - /// this particular mod to the file provides support within the spec for RegionProfileData for the - /// owner_uuid for the region - /// - public LLUUID owner_uuid = LLUUID.Zero; - - /// - /// OGS/OpenSim Specific original ID for a region after move/split - /// - public LLUUID originUUID; - - /// - /// Get Sim profile data from grid server when in grid mode - /// - /// - /// - /// - /// - public RegionProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, - string gridserver_sendkey, string gridserver_recvkey) - { - Hashtable requestData = new Hashtable(); - requestData["region_uuid"] = region_uuid.UUID.ToString(); - requestData["authkey"] = gridserver_sendkey; - ArrayList SendParams = new ArrayList(); - SendParams.Add(requestData); - XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); - XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); - - Hashtable responseData = (Hashtable) GridResp.Value; - - if (responseData.ContainsKey("error")) - { - return null; - } - - RegionProfileData simData = new RegionProfileData(); - simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); - simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); - simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); - simData.serverIP = (string) responseData["sim_ip"]; - simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); - simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); - simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); - simData.serverURI = (string)responseData["server_uri"]; - simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; - simData.UUID = new LLUUID((string) responseData["region_UUID"]); - simData.regionName = (string) responseData["region_name"]; - - return simData; - } - - /// - /// Request sim profile information from a grid server - /// - /// - /// - /// - /// - /// The sim profile. Null if there was a request failure - public static RegionProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, - string gridserver_sendkey, string gridserver_recvkey) - { - Hashtable requestData = new Hashtable(); - requestData["region_handle"] = region_handle.ToString(); - requestData["authkey"] = gridserver_sendkey; - ArrayList SendParams = new ArrayList(); - SendParams.Add(requestData); - XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); - XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); - - Hashtable responseData = (Hashtable) GridResp.Value; - - if (responseData.ContainsKey("error")) - { - return null; - } - - RegionProfileData simData = new RegionProfileData(); - simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); - simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); - simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); - simData.serverIP = (string) responseData["sim_ip"]; - simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); - simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); - simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); - simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; - simData.serverURI = (string)responseData["server_uri"]; - simData.UUID = new LLUUID((string) responseData["region_UUID"]); - simData.regionName = (string) responseData["region_name"]; - - return simData; - } - - /// - /// Request sim profile information from a grid server - /// - /// - /// - /// - /// - /// The sim profile. Null if there was a request failure - public static RegionProfileData RequestSimProfileData(string regionName, string gridserver_url, - string gridserver_sendkey, string gridserver_recvkey) - { - Hashtable requestData = new Hashtable(); - requestData["region_name_search"] = regionName; - requestData["authkey"] = gridserver_sendkey; - ArrayList SendParams = new ArrayList(); - SendParams.Add(requestData); - XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); - XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); - - Hashtable responseData = (Hashtable)GridResp.Value; - - if (responseData.ContainsKey("error")) - { - return null; - } - - RegionProfileData simData = new RegionProfileData(); - simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]); - simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]); - simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); - simData.serverIP = (string)responseData["sim_ip"]; - simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]); - simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]); - simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); - simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; - simData.serverURI = (string)responseData["server_uri"]; - simData.UUID = new LLUUID((string)responseData["region_UUID"]); - simData.regionName = (string)responseData["region_name"]; - - return simData; - } - } -} diff --git a/OpenSim/Framework/Data/ReservationData.cs b/OpenSim/Framework/Data/ReservationData.cs deleted file mode 100644 index 0c2cff3..0000000 --- a/OpenSim/Framework/Data/ReservationData.cs +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public class ReservationData - { - public LLUUID userUUID = LLUUID.Zero; - public int reservationMinX = 0; - public int reservationMinY = 0; - public int reservationMaxX = 65536; - public int reservationMaxY = 65536; - - public string reservationName = System.String.Empty; - public string reservationCompany = System.String.Empty; - public bool status = true; - - public string gridSendKey = System.String.Empty; - public string gridRecvKey = System.String.Empty; - } -} diff --git a/OpenSim/Framework/Data/UserDataBase.cs b/OpenSim/Framework/Data/UserDataBase.cs deleted file mode 100644 index 5e0be45..0000000 --- a/OpenSim/Framework/Data/UserDataBase.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Collections.Generic; -using libsecondlife; - -namespace OpenSim.Framework.Data -{ - public abstract class UserDataBase : IUserData - { - public abstract UserProfileData GetUserByUUID(LLUUID user); - public abstract UserProfileData GetUserByName(string fname, string lname); - public abstract UserAgentData GetAgentByUUID(LLUUID user); - public abstract UserAgentData GetAgentByName(string name); - public abstract UserAgentData GetAgentByName(string fname, string lname); - public abstract void StoreWebLoginKey(LLUUID agentID, LLUUID webLoginKey); - public abstract void AddNewUserProfile(UserProfileData user); - public abstract bool UpdateUserProfile(UserProfileData user); - public abstract void UpdateUserCurrentRegion(LLUUID avatarid, LLUUID regionuuid); - public abstract void AddNewUserAgent(UserAgentData agent); - public abstract void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms); - public abstract void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend); - public abstract void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms); - public abstract List GetUserFriendList(LLUUID friendlistowner); - public abstract bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount); - public abstract bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); - public abstract string GetVersion(); - public abstract string getName(); - public abstract void Initialise(); - public abstract List GeneratePickerResults(LLUUID queryID, string query); - } -} -- cgit v1.1