From 00b7058e000d7871df2ae40075ead1042e8e81ac Mon Sep 17 00:00:00 2001
From: MW
Date: Wed, 11 Apr 2007 13:32:50 +0000
Subject: Attempt to rearrange some of the directories
---
.../OpenSim.Storage.LocalStorageSQLite.csproj | 111 +++++++++++++
.../OpenSim.Storage.LocalStorageSQLite.csproj.user | 12 ++
.../OpenSim.Storage.LocalStorageSQLite.dll.build | 46 ++++++
.../LocalStorageSQLite/Properties/AssemblyInfo.cs | 35 +++++
.../LocalStorageSQLite/SQLiteLocalStorage.cs | 171 +++++++++++++++++++++
5 files changed, 375 insertions(+)
create mode 100644 OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj
create mode 100644 OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj.user
create mode 100644 OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.dll.build
create mode 100644 OpenSim.Storage/LocalStorageSQLite/Properties/AssemblyInfo.cs
create mode 100644 OpenSim.Storage/LocalStorageSQLite/SQLiteLocalStorage.cs
(limited to 'OpenSim.Storage/LocalStorageSQLite')
diff --git a/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj
new file mode 100644
index 0000000..8039721
--- /dev/null
+++ b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj
@@ -0,0 +1,111 @@
+
+
+ Local
+ 8.0.50727
+ 2.0
+ {6B20B603-0000-0000-0000-000000000000}
+ Debug
+ AnyCPU
+
+
+
+ OpenSim.Storage.LocalStorageSQLite
+ JScript
+ Grid
+ IE50
+ false
+ Library
+
+ OpenSim.Storage.LocalStorageSQLite
+
+
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE;DEBUG
+
+ True
+ 4096
+ False
+ ..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE
+
+ False
+ 4096
+ True
+ ..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+
+ System.dll
+ False
+
+
+ System.Xml.dll
+ False
+
+
+ System.Data.dll
+ False
+
+
+ ..\..\bin\System.Data.SQLite.dll
+ False
+
+
+ ..\..\bin\libsecondlife.dll
+ False
+
+
+
+
+ OpenSim.Framework
+ {8ACA2445-0000-0000-0000-000000000000}
+ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ False
+
+
+ OpenSim.Framework.Console
+ {A7CD0630-0000-0000-0000-000000000000}
+ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ False
+
+
+
+
+ Code
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj.user b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj.user
new file mode 100644
index 0000000..e1615f7
--- /dev/null
+++ b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.csproj.user
@@ -0,0 +1,12 @@
+
+
+ Debug
+ AnyCPU
+ C:\New Folder\second-life-viewer\opensim-dailys2\opensim11-04trunk\bin\
+ 8.0.50727
+ ProjectFiles
+ 0
+
+
+
+
diff --git a/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.dll.build b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.dll.build
new file mode 100644
index 0000000..79c27fc
--- /dev/null
+++ b/OpenSim.Storage/LocalStorageSQLite/OpenSim.Storage.LocalStorageSQLite.dll.build
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim.Storage/LocalStorageSQLite/Properties/AssemblyInfo.cs b/OpenSim.Storage/LocalStorageSQLite/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..fe81f8a
--- /dev/null
+++ b/OpenSim.Storage/LocalStorageSQLite/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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.Storage.LocalStorageSQLite")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Storage.LocalStorageSQLite")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[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("ecd6e0c1-7909-413e-9e3f-659678ac3bc3")]
+
+// 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.*")]
+[assembly: AssemblyFileVersion("1.0.0.*")]
diff --git a/OpenSim.Storage/LocalStorageSQLite/SQLiteLocalStorage.cs b/OpenSim.Storage/LocalStorageSQLite/SQLiteLocalStorage.cs
new file mode 100644
index 0000000..8c9a5e1
--- /dev/null
+++ b/OpenSim.Storage/LocalStorageSQLite/SQLiteLocalStorage.cs
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
+*
+* 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 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 ``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 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.
+*
+*/
+
+// SQLite Support
+// A bad idea, but the IRC people told me to!
+
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SQLite;
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Assets;
+using OpenSim.Framework.Terrain;
+
+namespace OpenSim.Storage.LocalStorageSQLite
+{
+ public class SQLiteLocalStorage : ILocalStorage
+ {
+ IDbConnection db;
+
+ public SQLiteLocalStorage()
+ {
+ try
+ {
+ string connectionstring = "URI=file:localsim.sdb";
+ db = (IDbConnection)new SQLiteConnection(connectionstring);
+ db.Open();
+ }
+ catch (Exception e)
+ {
+ db.Close();
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SQLiteLocalStorage :Constructor - Exception occured");
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine(e.ToString());
+ }
+ }
+
+ public void StorePrim(PrimData prim)
+ {
+ IDbCommand cmd = db.CreateCommand();
+
+ //SECURITY WARNING:
+ // These parameters wont produce SQL injections since they are all integer based, however.
+ // if inserting strings such as name or description, you will need to use appropriate
+ // measures to prevent SQL injection (although the value of SQL injection in this is limited).
+
+ string sql = "REPLACE INTO prim (OwnerID,PCode,PathBegin,PathEnd,PathScaleX,PathScaleY,PathShearX,PathShearY,PathSkew,ProfileBegin,ProfileEnd,Scale,PathCurve,ProfileCurve,ParentID,ProfileHollow,PathRadiusOffset,PathRevolutions,PathTaperX,PathTaperY,PathTwist,PathTwistBegin,Texture,CreationDate,OwnerMask,NextOwnerMask,GroupMask,EveryoneMask,BaseMask,Position,Rotation,LocalID,FullID) ";
+ sql += "VALUES (";
+ sql += "\"" + prim.OwnerID.ToStringHyphenated() + "\","; // KILL ME NOW!
+ sql += "\"" + prim.PCode.ToString() + "\",";
+ sql += "\"" + prim.PathBegin.ToString() + "\",";
+ sql += "\"" + prim.PathEnd.ToString() + "\",";
+ sql += "\"" + prim.PathScaleX.ToString() + "\",";
+ sql += "\"" + prim.PathScaleY.ToString() + "\",";
+ sql += "\"" + prim.PathShearX.ToString() + "\",";
+ sql += "\"" + prim.PathShearY.ToString() + "\",";
+ sql += "\"" + prim.PathSkew.ToString() + "\",";
+ sql += "\"" + prim.ProfileBegin.ToString() + "\",";
+ sql += "\"" + prim.ProfileEnd.ToString() + "\",";
+ sql += "\"" + prim.Scale.ToString() + "\",";
+ sql += "\"" + prim.PathCurve.ToString() + "\",";
+ sql += "\"" + prim.ProfileCurve.ToString() + "\",";
+ sql += "\"" + prim.ParentID.ToString() + "\",";
+ sql += "\"" + prim.ProfileHollow.ToString() + "\",";
+ sql += "\"" + prim.PathRadiusOffset.ToString() + "\",";
+ sql += "\"" + prim.PathRevolutions.ToString() + "\",";
+ sql += "\"" + prim.PathTaperX.ToString() + "\",";
+ sql += "\"" + prim.PathTaperY.ToString() + "\",";
+ sql += "\"" + prim.PathTwist.ToString() + "\",";
+ sql += "\"" + prim.PathTwistBegin.ToString() + "\",";
+ sql += "\"" + prim.Texture.ToString() + "\",";
+ sql += "\"" + prim.CreationDate.ToString() + "\",";
+ sql += "\"" + prim.OwnerMask.ToString() + "\",";
+ sql += "\"" + prim.NextOwnerMask.ToString() + "\",";
+ sql += "\"" + prim.GroupMask.ToString() + "\",";
+ sql += "\"" + prim.EveryoneMask.ToString() + "\",";
+ sql += "\"" + prim.BaseMask.ToString() + "\",";
+ sql += "\"" + prim.Position.ToString() + "\",";
+ sql += "\"" + prim.Rotation.ToString() + "\",";
+ sql += "\"" + prim.LocalID.ToString() + "\",";
+ sql += "\"" + prim.FullID.ToString() + "\")";
+
+ cmd.CommandText = sql;
+
+ try
+ {
+ cmd.ExecuteNonQuery();
+ }
+ catch (Exception e)
+ {
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SQLiteLocalStorage :StorePrim - Exception occured");
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine(e.ToString());
+ }
+
+ cmd.Dispose();
+ cmd = null;
+ }
+
+ public void RemovePrim(LLUUID primID)
+ {
+ IDbCommand cmd = db.CreateCommand();
+
+ //SECURITY WARNING:
+ // These parameters wont produce SQL injections since they are all integer based, however.
+ // if inserting strings such as name or description, you will need to use appropriate
+ // measures to prevent SQL injection (although the value of SQL injection in this is limited).
+
+ string sql = "DELETE FROM prim WHERE FullID = \"" + primID.ToStringHyphenated() + "\"";
+
+ cmd.CommandText = sql;
+
+ try
+ {
+ cmd.ExecuteNonQuery();
+ }
+ catch (Exception e)
+ {
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine("SQLiteLocalStorage :RemovePrim - Exception occured");
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine(e.ToString());
+ }
+
+ cmd.Dispose();
+ cmd = null;
+ }
+
+ public void LoadPrimitives(ILocalStorageReceiver receiver)
+ {
+
+ }
+
+ public float[] LoadWorld()
+ {
+ return new float[65536];
+ }
+
+ public void SaveMap(float[] heightmap)
+ {
+
+ }
+
+ public void ShutDown()
+ {
+ db.Close();
+ db = null;
+ }
+ }
+}
\ No newline at end of file
--
cgit v1.1