aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMW2007-08-10 17:22:54 +0000
committerMW2007-08-10 17:22:54 +0000
commit79f0ac82e328e325df28f3af3d4c98a7885a44f5 (patch)
tree2322942186b99ad92990ad7dcb79e6abdd8bed83
parentRenamed Compiler.LSL to Compiler.LSO (diff)
downloadopensim-SC_OLD-79f0ac82e328e325df28f3af3d4c98a7885a44f5.zip
opensim-SC_OLD-79f0ac82e328e325df28f3af3d4c98a7885a44f5.tar.gz
opensim-SC_OLD-79f0ac82e328e325df28f3af3d4c98a7885a44f5.tar.bz2
opensim-SC_OLD-79f0ac82e328e325df28f3af3d4c98a7885a44f5.tar.xz
Some cleaning up and removed a few old files no longer in use.
Temporary have had to rename the OpenSim.DataStore.MonoSqlite project to OpenSim.DataStore.MonoSqlite1, as I'm not sure what was done to stop the old project name being included in the VS2005 solution. Also some config changes: OpenSim now has a INI (OpenSim.ini) file that it will read some config settings from (if the ini file exists). Added Mono.Data.SqliteClient.dll so that we can use the same code for sqlite on Windows and mono/linux. (from what I can tell Mono class libraries have a MIT license so there should be no problems with us including this dll). So now to get the basic prim storage working , you need to first create the sqlite database file from the sqlite3-prims.sql in share directory. Then in the OpenSim.ini file, change the storage_plugin so it points to OpenSim.DataStore.MonoSqlite1.dll (storage_plugin = OpenSim.DataStore.MonoSqlite1.dll). Then in your region.xml files change the DataStore value so it is the name of your database file (at the moment you need a different sqlite3 database file for each region).
-rw-r--r--OpenSim/Framework/General/Interfaces/ILocalStorage.cs71
-rw-r--r--OpenSim/Framework/General/Interfaces/IUserServer.cs39
-rw-r--r--OpenSim/Framework/General/Types/RegionInfo.cs49
-rw-r--r--OpenSim/Framework/General/Util.cs25
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs61
-rw-r--r--OpenSim/Region/ClientStack/Assets/InventoryCache.cs23
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs2
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs2
-rw-r--r--OpenSim/Region/Environment/LandManagement/LandManager.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs15
-rw-r--r--OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs7
-rw-r--r--bin/Mono.Data.SqliteClient.dllbin0 -> 52224 bytes
-rw-r--r--bin/OpenSim.ini4
-rw-r--r--bin/sqlite-3.4.1.sobin0 -> 277804 bytes
-rw-r--r--bin/sqlite3.def131
-rw-r--r--bin/sqlite3.dllbin0 -> 363686 bytes
-rw-r--r--prebuild.xml4
18 files changed, 252 insertions, 187 deletions
diff --git a/OpenSim/Framework/General/Interfaces/ILocalStorage.cs b/OpenSim/Framework/General/Interfaces/ILocalStorage.cs
deleted file mode 100644
index 1b7b01e..0000000
--- a/OpenSim/Framework/General/Interfaces/ILocalStorage.cs
+++ /dev/null
@@ -1,71 +0,0 @@
1/*
2* Copyright (c) Contributors, http://www.openmetaverse.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28
29using libsecondlife;
30using OpenSim.Framework.Types;
31
32namespace OpenSim.Framework.Interfaces
33{
34 /// <summary>
35 /// ILocalStorage. Really hacked together right now needs cleaning up
36 /// </summary>
37 [System.Obsolete("Redundant, use IRegionDataStore instead")]
38 public interface ILocalStorage
39 {
40 void Initialise(string datastore);
41
42 void StorePrim(PrimData prim);
43 void RemovePrim(LLUUID primID);
44 void LoadPrimitives(ILocalStorageReceiver receiver);
45
46 [System.Obsolete("Use DataStorage instead")]
47 float[] LoadScene();
48 [System.Obsolete("Use DataStorage instead")]
49 void SaveMap(float[] heightmap);
50
51 void SaveLandObjects(LandData[] lands);
52 void SaveLandObject(LandData land);
53 void RemoveLandObject(LandData land);
54 void RemoveAllLandObjects();
55 void LoadLandObjects(ILocalStorageLandObjectReceiver recv);
56
57 void ShutDown();
58 }
59
60 public interface ILocalStorageReceiver
61 {
62 void PrimFromStorage(PrimData prim);
63 }
64
65 public interface ILocalStorageLandObjectReceiver
66 {
67 void LandFromStorage(LandData data);
68 void NoLandDataFromStorage();
69 }
70}
71
diff --git a/OpenSim/Framework/General/Interfaces/IUserServer.cs b/OpenSim/Framework/General/Interfaces/IUserServer.cs
deleted file mode 100644
index ca5816d..0000000
--- a/OpenSim/Framework/General/Interfaces/IUserServer.cs
+++ /dev/null
@@ -1,39 +0,0 @@
1/*
2* Copyright (c) Contributors, http://www.openmetaverse.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28using libsecondlife;
29using OpenSim.Framework.Inventory;
30
31namespace OpenSim.Framework.Interfaces
32{
33 public interface IUserServer
34 {
35 AgentInventory RequestAgentsInventory(LLUUID agentID);
36 void SetServerInfo(string ServerUrl, string SendKey, string RecvKey);
37 bool UpdateAgentsInventory(LLUUID agentID, AgentInventory inventory);
38 }
39}
diff --git a/OpenSim/Framework/General/Types/RegionInfo.cs b/OpenSim/Framework/General/Types/RegionInfo.cs
index b9ed8d2..aa391c0 100644
--- a/OpenSim/Framework/General/Types/RegionInfo.cs
+++ b/OpenSim/Framework/General/Types/RegionInfo.cs
@@ -29,6 +29,7 @@ using System;
29using System.Globalization; 29using System.Globalization;
30using System.Net; 30using System.Net;
31using System.Net.Sockets; 31using System.Net.Sockets;
32using Nini.Config;
32using libsecondlife; 33using libsecondlife;
33using OpenSim.Framework.Console; 34using OpenSim.Framework.Console;
34using OpenSim.Framework.Interfaces; 35using OpenSim.Framework.Interfaces;
@@ -163,9 +164,55 @@ namespace OpenSim.Framework.Types
163 m_externalHostName = externalUri; 164 m_externalHostName = externalUri;
164 } 165 }
165 166
167 public void LoadFromNiniSource(IConfigSource source)
168 {
169 this.LoadFromNiniSource(source, "RegionInfo");
170 }
171
172 public void LoadFromNiniSource(IConfigSource source, string sectionName)
173 {
174 string errorMessage = "";
175 this.SimUUID = new LLUUID(source.Configs[sectionName].GetString("sim_UUID", LLUUID.Random().ToStringHyphenated()));
176 this.RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
177 this.m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
178 this.m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
179 this.DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
180
181 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
182 IPAddress ipAddressResult;
183 if (IPAddress.TryParse(ipAddress, out ipAddressResult))
184 {
185 this.m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
186 }
187 else
188 {
189 errorMessage = "needs an IP Address (IPAddress)";
190 }
191 this.m_internalEndPoint.Port = source.Configs[sectionName].GetInt("internal_ip_port",(int) 9000);
192
193 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
194 if (externalHost != "SYSTEMIP")
195 {
196 this.m_externalHostName = externalHost;
197 }
198 else
199 {
200 this.m_externalHostName = Util.GetLocalHost().ToString();
201 }
202
203 this.MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
204 this.MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
205 this.MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
206
207 if (errorMessage != "")
208 {
209 // a error
210 }
211 }
212
166 public void loadConfigurationOptions() 213 public void loadConfigurationOptions()
167 { 214 {
168 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "UUID of Simulator (Default is recommended, random UUID)", LLUUID.Random().ToString(),true); 215 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "UUID of Simulator (Default is recommended, random UUID)", LLUUID.Random().ToString(), true);
169 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Simulator Name", "OpenSim Test", false); 216 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Simulator Name", "OpenSim Test", false);
170 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false); 217 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (X Axis)", "1000", false);
171 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false); 218 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Grid Location (Y Axis)", "1000", false);
diff --git a/OpenSim/Framework/General/Util.cs b/OpenSim/Framework/General/Util.cs
index f3e2a01..f3a8c73 100644
--- a/OpenSim/Framework/General/Util.cs
+++ b/OpenSim/Framework/General/Util.cs
@@ -32,6 +32,8 @@ using System.Net;
32using System.Text; 32using System.Text;
33using libsecondlife; 33using libsecondlife;
34 34
35using Nini.Config;
36
35namespace OpenSim.Framework.Utilities 37namespace OpenSim.Framework.Utilities
36{ 38{
37 public class Util 39 public class Util
@@ -313,5 +315,28 @@ namespace OpenSim.Framework.Utilities
313 { 315 {
314 316
315 } 317 }
318
319 // Nini (config) related Methods
320 public static IConfigSource ConvertDataRowToXMLConfig(System.Data.DataRow row, string fileName)
321 {
322 if(!File.Exists(fileName))
323 {
324 //create new file
325 }
326 XmlConfigSource config = new XmlConfigSource(fileName);
327 AddDataRowToConfig(config, row);
328 config.Save();
329
330 return config;
331 }
332
333 public static void AddDataRowToConfig(IConfigSource config, System.Data.DataRow row)
334 {
335 config.Configs.Add((string)row[0]);
336 for (int i = 0; i < row.Table.Columns.Count; i++)
337 {
338 config.Configs[(string)row[0]].Set(row.Table.Columns[i].ColumnName, row[i]);
339 }
340 }
316 } 341 }
317} 342}
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 8e3f558..b052178 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -60,8 +60,8 @@ namespace OpenSim
60 public bool m_sandbox; 60 public bool m_sandbox;
61 public bool user_accounts; 61 public bool user_accounts;
62 public bool m_gridLocalAsset; 62 public bool m_gridLocalAsset;
63 protected bool m_useConfigFile; 63
64 public string m_configFileName; 64 protected string m_storageDLL = "OpenSim.DataStore.NullStorage.dll";
65 65
66 protected List<UDPServer> m_udpServers = new List<UDPServer>(); 66 protected List<UDPServer> m_udpServers = new List<UDPServer>();
67 protected List<RegionInfo> m_regionData = new List<RegionInfo>(); 67 protected List<RegionInfo> m_regionData = new List<RegionInfo>();
@@ -74,31 +74,30 @@ namespace OpenSim
74 : base() 74 : base()
75 { 75 {
76 IConfigSource startupSource = configSource; 76 IConfigSource startupSource = configSource;
77 string iniFile = startupSource.Configs["Startup"].GetString("inifile", "NA"); 77 string iniFile = startupSource.Configs["Startup"].GetString("inifile", "OpenSim.ini");
78 if (iniFile != "NA") 78
79 //check for .INI file (either default or name passed in command line)
80 string iniFilePath = Path.Combine(Util.configDir(), iniFile);
81 if (File.Exists(iniFilePath))
79 { 82 {
80 //a INI file is set to be used for startup settings 83 startupSource = new IniConfigSource(iniFilePath);
81 string iniFilePath = Path.Combine(Util.configDir(), iniFile); 84
82 if (File.Exists(iniFilePath)) 85 //enable following line, if we want the original config source(normally commandline args) merged with ini file settings.
83 { 86 //in this case we have it so that if both sources have the same named setting, the command line value will overwrite the ini file value.
84 startupSource = new IniConfigSource(iniFilePath); 87 //(as if someone has bothered to enter a command line arg, we should take notice of it)
85 88 startupSource.Merge(configSource);
86 //enable following line, if we want the original config source(normally commandline args) merged with ini file settings.
87 //in this case we have it so that if both sources have the same named setting, the command line value will overwrite the ini file value.
88 //(as if someone has bothered to enter a command line arg, we should take notice of it)
89 //startupSource.Merge(configSource);
90 }
91 } 89 }
90
92 ReadConfigSettings(startupSource); 91 ReadConfigSettings(startupSource);
93 } 92 }
94 93
95 protected void ReadConfigSettings(IConfigSource configSource) 94 protected void ReadConfigSettings(IConfigSource configSource)
96 { 95 {
97 m_useConfigFile = configSource.Configs["Startup"].GetBoolean("configfile", false);
98 m_sandbox = !configSource.Configs["Startup"].GetBoolean("gridmode", false); 96 m_sandbox = !configSource.Configs["Startup"].GetBoolean("gridmode", false);
99 m_physicsEngine = configSource.Configs["Startup"].GetString("physics", "basicphysics"); 97 m_physicsEngine = configSource.Configs["Startup"].GetString("physics", "basicphysics");
100 m_configFileName = configSource.Configs["Startup"].GetString("config", "simconfig.xml");
101 m_silent = configSource.Configs["Startup"].GetBoolean("noverbose", false); 98 m_silent = configSource.Configs["Startup"].GetBoolean("noverbose", false);
99
100 m_storageDLL = configSource.Configs["Startup"].GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
102 } 101 }
103 102
104 /// <summary> 103 /// <summary>
@@ -110,7 +109,7 @@ namespace OpenSim
110 { 109 {
111 Directory.CreateDirectory(Util.logDir()); 110 Directory.CreateDirectory(Util.logDir());
112 } 111 }
113 112
114 m_log = new LogBase(Path.Combine(Util.logDir(), m_logFilename), "Region", this, m_silent); 113 m_log = new LogBase(Path.Combine(Util.logDir(), m_logFilename), "Region", this, m_silent);
115 MainLog.Instance = m_log; 114 MainLog.Instance = m_log;
116 115
@@ -131,12 +130,12 @@ namespace OpenSim
131 } 130 }
132 131
133 string regionConfigPath = Path.Combine(Util.configDir(), "Regions"); 132 string regionConfigPath = Path.Combine(Util.configDir(), "Regions");
134 133
135 if (!Directory.Exists(regionConfigPath)) 134 if (!Directory.Exists(regionConfigPath))
136 { 135 {
137 Directory.CreateDirectory(regionConfigPath); 136 Directory.CreateDirectory(regionConfigPath);
138 } 137 }
139 138
140 string[] configFiles = Directory.GetFiles(regionConfigPath, "*.xml"); 139 string[] configFiles = Directory.GetFiles(regionConfigPath, "*.xml");
141 140
142 if (configFiles.Length == 0) 141 if (configFiles.Length == 0)
@@ -175,7 +174,7 @@ namespace OpenSim
175 174
176 protected override StorageManager CreateStorageManager(RegionInfo regionInfo) 175 protected override StorageManager CreateStorageManager(RegionInfo regionInfo)
177 { 176 {
178 return new StorageManager("OpenSim.DataStore.NullStorage.dll", regionInfo.DataStore, regionInfo.RegionName); 177 return new StorageManager(m_storageDLL, regionInfo.DataStore, regionInfo.RegionName);
179 } 178 }
180 179
181 protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, AgentCircuitManager circuitManager) 180 protected override Scene CreateScene(RegionInfo regionInfo, StorageManager storageManager, AgentCircuitManager circuitManager)
@@ -287,7 +286,7 @@ namespace OpenSim
287 286
288 case "terrain": 287 case "terrain":
289 string result = ""; 288 string result = "";
290 foreach(Scene scene in m_localScenes) 289 foreach (Scene scene in m_localScenes)
291 { 290 {
292 if (!scene.Terrain.RunTerrainCmd(cmdparams, ref result, scene.RegionInfo.RegionName)) 291 if (!scene.Terrain.RunTerrainCmd(cmdparams, ref result, scene.RegionInfo.RegionName))
293 { 292 {
@@ -296,21 +295,21 @@ namespace OpenSim
296 } 295 }
297 break; 296 break;
298 case "script": 297 case "script":
299 foreach(Scene scene in m_localScenes ) 298 foreach (Scene scene in m_localScenes)
300 { 299 {
301 scene.SendCommandToScripts(cmdparams); 300 scene.SendCommandToScripts(cmdparams);
302 } 301 }
303 break; 302 break;
304 303
305 case "backup": 304 case "backup":
306 foreach(Scene scene in m_localScenes ) 305 foreach (Scene scene in m_localScenes)
307 { 306 {
308 scene.Backup(); 307 scene.Backup();
309 } 308 }
310 break; 309 break;
311 310
312 case "alert": 311 case "alert":
313 foreach(Scene scene in m_localScenes) 312 foreach (Scene scene in m_localScenes)
314 { 313 {
315 scene.HandleAlertCommand(cmdparams); 314 scene.HandleAlertCommand(cmdparams);
316 } 315 }
@@ -344,19 +343,19 @@ namespace OpenSim
344 for (int i = 0; i < m_localScenes.Count; i++) 343 for (int i = 0; i < m_localScenes.Count; i++)
345 { 344 {
346 Scene scene = m_localScenes[i]; 345 Scene scene = m_localScenes[i];
347 foreach (Entity entity in scene.Entities.Values ) 346 foreach (Entity entity in scene.Entities.Values)
348 { 347 {
349 if ( entity is ScenePresence ) 348 if (entity is ScenePresence)
350 { 349 {
351 ScenePresence scenePrescence = entity as ScenePresence; 350 ScenePresence scenePrescence = entity as ScenePresence;
352 m_log.Error( 351 m_log.Error(
353 String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16},{5,-16}{6,-16}", 352 String.Format("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16},{5,-16}{6,-16}",
354 scenePrescence.Firstname, 353 scenePrescence.Firstname,
355 scenePrescence.Lastname, 354 scenePrescence.Lastname,
356 scenePrescence.UUID, 355 scenePrescence.UUID,
357 scenePrescence.ControllingClient.AgentId, 356 scenePrescence.ControllingClient.AgentId,
358 "Unknown", 357 "Unknown",
359 "Unknown", 358 "Unknown",
360 scene.RegionInfo.RegionName)); 359 scene.RegionInfo.RegionName));
361 } 360 }
362 } 361 }
diff --git a/OpenSim/Region/ClientStack/Assets/InventoryCache.cs b/OpenSim/Region/ClientStack/Assets/InventoryCache.cs
index c0609b6..8185502 100644
--- a/OpenSim/Region/ClientStack/Assets/InventoryCache.cs
+++ b/OpenSim/Region/ClientStack/Assets/InventoryCache.cs
@@ -64,17 +64,6 @@ namespace OpenSim.Assets
64 } 64 }
65 } 65 }
66 66
67 public AgentInventory FetchAgentsInventory(LLUUID agentID, IUserServer userserver)
68 {
69 AgentInventory res = null;
70 if (!this._agentsInventory.ContainsKey(agentID))
71 {
72 res = userserver.RequestAgentsInventory(agentID);
73 this._agentsInventory.Add(agentID,res);
74 }
75 return res;
76 }
77
78 public AgentInventory GetAgentsInventory(LLUUID agentID) 67 public AgentInventory GetAgentsInventory(LLUUID agentID)
79 { 68 {
80 if (this._agentsInventory.ContainsKey(agentID)) 69 if (this._agentsInventory.ContainsKey(agentID))
@@ -85,18 +74,6 @@ namespace OpenSim.Assets
85 return null; 74 return null;
86 } 75 }
87 76
88 public void ClientLeaving(LLUUID clientID, IUserServer userserver)
89 {
90 if (this._agentsInventory.ContainsKey(clientID))
91 {
92 if (userserver != null)
93 {
94 userserver.UpdateAgentsInventory(clientID, this._agentsInventory[clientID]);
95 }
96 this._agentsInventory.Remove(clientID);
97 }
98 }
99
100 public bool CreateNewInventoryFolder(ClientView remoteClient, LLUUID folderID) 77 public bool CreateNewInventoryFolder(ClientView remoteClient, LLUUID folderID)
101 { 78 {
102 return this.CreateNewInventoryFolder(remoteClient, folderID, 0); 79 return this.CreateNewInventoryFolder(remoteClient, folderID, 0);
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index e693c64..1375f6c 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -120,7 +120,7 @@ namespace OpenSim.Region.ClientStack
120 public void KillClient() 120 public void KillClient()
121 { 121 {
122 clientPingTimer.Stop(); 122 clientPingTimer.Stop();
123 this.m_inventoryCache.ClientLeaving(this.AgentID, null); 123
124 m_scene.RemoveClient(this.AgentId); 124 m_scene.RemoveClient(this.AgentId);
125 125
126 m_clientThreads.Remove(this.CircuitCode); 126 m_clientThreads.Remove(this.CircuitCode);
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index 05c970a..d47450a 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Region.ClientStack
70 70
71 Initialize(); 71 Initialize();
72 72
73 ScenePresence.CreateDefaultTextureEntry("avatar-texture.dat"); 73 ScenePresence.CreateDefaultTextureEntry();
74 74
75 m_httpServer = new BaseHttpServer( m_httpServerPort ); 75 m_httpServer = new BaseHttpServer( m_httpServerPort );
76 76
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs
index f67b51a..5bc975c 100644
--- a/OpenSim/Region/Environment/LandManagement/LandManager.cs
+++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs
@@ -41,7 +41,7 @@ namespace OpenSim.Region.Environment.LandManagement
41 /// <summary> 41 /// <summary>
42 /// Handles Land objects and operations requiring information from other Land objects (divide, join, etc) 42 /// Handles Land objects and operations requiring information from other Land objects (divide, join, etc)
43 /// </summary> 43 /// </summary>
44 public class LandManager : ILocalStorageLandObjectReceiver 44 public class LandManager
45 { 45 {
46 46
47 #region Constants 47 #region Constants
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index cae57a2..d3c7f77 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -50,7 +50,7 @@ namespace OpenSim.Region.Environment.Scenes
50 50
51 public delegate void ForEachScenePresenceDelegate(ScenePresence presence); 51 public delegate void ForEachScenePresenceDelegate(ScenePresence presence);
52 52
53 public partial class Scene : SceneBase, ILocalStorageReceiver 53 public partial class Scene : SceneBase
54 { 54 {
55 protected Timer m_heartbeatTimer = new Timer(); 55 protected Timer m_heartbeatTimer = new Timer();
56 protected Dictionary<LLUUID, ScenePresence> Avatars; 56 protected Dictionary<LLUUID, ScenePresence> Avatars;
@@ -229,7 +229,7 @@ namespace OpenSim.Region.Environment.Scenes
229 229
230 //backup scene data 230 //backup scene data
231 storageCount++; 231 storageCount++;
232 if (storageCount > 1200) //set to how often you want to backup 232 if (storageCount > 600) //set to how often you want to backup
233 { 233 {
234 Backup(); 234 Backup();
235 storageCount = 0; 235 storageCount = 0;
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 114623a..1be1e7a 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -665,19 +665,8 @@ namespace OpenSim.Region.Environment.Scenes
665 } 665 }
666 } 666 }
667 667
668 public static void CreateDefaultTextureEntry(string name) 668 public static void CreateDefaultTextureEntry()
669 { 669 {
670 /* FileInfo fInfo = new FileInfo(name);
671 long numBytes = fInfo.Length;
672 FileStream fStream = new FileStream(name, FileMode.Open, FileAccess.Read);
673 BinaryReader br = new BinaryReader(fStream);
674 byte[] data1 = br.ReadBytes((int)numBytes);
675 br.Close();
676 fStream.Close();
677 DefaultTexture = data1;
678 LLObject.TextureEntry textu = new LLObject.TextureEntry(data1, 0, data1.Length);
679 Console.WriteLine("default texture entry: " + textu.ToString());*/
680
681 LLObject.TextureEntry textu = new LLObject.TextureEntry(new LLUUID("C228D1CF-4B5D-4BA8-84F4-899A0796AA97")); 670 LLObject.TextureEntry textu = new LLObject.TextureEntry(new LLUUID("C228D1CF-4B5D-4BA8-84F4-899A0796AA97"));
682 textu.CreateFace(0).TextureID = new LLUUID("00000000-0000-1111-9999-000000000012"); 671 textu.CreateFace(0).TextureID = new LLUUID("00000000-0000-1111-9999-000000000012");
683 textu.CreateFace(1).TextureID = new LLUUID("5748decc-f629-461c-9a36-a35a221fe21f"); 672 textu.CreateFace(1).TextureID = new LLUUID("5748decc-f629-461c-9a36-a35a221fe21f");
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
index f85d3b6..45b19e6 100644
--- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
+++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs
@@ -1,7 +1,6 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4using System.IO;
5 4
6using OpenSim.Region.Environment.Scenes; 5using OpenSim.Region.Environment.Scenes;
7using OpenSim.Region.Environment.LandManagement; 6using OpenSim.Region.Environment.LandManagement;
@@ -31,9 +30,10 @@ namespace OpenSim.DataStore.MonoSqliteStorage
31 30
32 public void Initialise(string dbfile, string dbname) 31 public void Initialise(string dbfile, string dbname)
33 { 32 {
34 // for us, dbfile will be the connect string 33 string connectionString = "URI=file:" + dbfile + ",version=3";
34
35 MainLog.Instance.Verbose("DATASTORE", "Sqlite - connecting: " + dbfile); 35 MainLog.Instance.Verbose("DATASTORE", "Sqlite - connecting: " + dbfile);
36 SqliteConnection conn = new SqliteConnection(dbfile); 36 SqliteConnection conn = new SqliteConnection(connectionString);
37 37
38 SqliteCommand primSelectCmd = new SqliteCommand(primSelect, conn); 38 SqliteCommand primSelectCmd = new SqliteCommand(primSelect, conn);
39 primDa = new SqliteDataAdapter(primSelectCmd); 39 primDa = new SqliteDataAdapter(primSelectCmd);
@@ -301,6 +301,7 @@ namespace OpenSim.DataStore.MonoSqliteStorage
301 Convert.ToSingle(row["RotationZ"]), 301 Convert.ToSingle(row["RotationZ"]),
302 Convert.ToSingle(row["RotationW"]) 302 Convert.ToSingle(row["RotationW"])
303 ); 303 );
304
304 return prim; 305 return prim;
305 } 306 }
306 307
diff --git a/bin/Mono.Data.SqliteClient.dll b/bin/Mono.Data.SqliteClient.dll
new file mode 100644
index 0000000..657fbf4
--- /dev/null
+++ b/bin/Mono.Data.SqliteClient.dll
Binary files differ
diff --git a/bin/OpenSim.ini b/bin/OpenSim.ini
new file mode 100644
index 0000000..022d82f
--- /dev/null
+++ b/bin/OpenSim.ini
@@ -0,0 +1,4 @@
1[Startup]
2gridmode = false
3physics = basicphysics
4storage_plugin = "OpenSim.DataStore.NullStorage.dll" \ No newline at end of file
diff --git a/bin/sqlite-3.4.1.so b/bin/sqlite-3.4.1.so
new file mode 100644
index 0000000..3b0f23b
--- /dev/null
+++ b/bin/sqlite-3.4.1.so
Binary files differ
diff --git a/bin/sqlite3.def b/bin/sqlite3.def
new file mode 100644
index 0000000..9eb6a4e
--- /dev/null
+++ b/bin/sqlite3.def
@@ -0,0 +1,131 @@
1EXPORTS
2sqlite3_aggregate_context
3sqlite3_aggregate_count
4sqlite3_apis
5sqlite3_auto_extension
6sqlite3_bind_blob
7sqlite3_bind_double
8sqlite3_bind_int
9sqlite3_bind_int64
10sqlite3_bind_null
11sqlite3_bind_parameter_count
12sqlite3_bind_parameter_index
13sqlite3_bind_parameter_name
14sqlite3_bind_text
15sqlite3_bind_text16
16sqlite3_bind_value
17sqlite3_bind_zeroblob
18sqlite3_blob_bytes
19sqlite3_blob_close
20sqlite3_blob_open
21sqlite3_blob_read
22sqlite3_blob_write
23sqlite3_busy_handler
24sqlite3_busy_timeout
25sqlite3_changes
26sqlite3_clear_bindings
27sqlite3_close
28sqlite3_collation_needed
29sqlite3_collation_needed16
30sqlite3_column_blob
31sqlite3_column_bytes
32sqlite3_column_bytes16
33sqlite3_column_count
34sqlite3_column_decltype
35sqlite3_column_decltype16
36sqlite3_column_double
37sqlite3_column_int
38sqlite3_column_int64
39sqlite3_column_name
40sqlite3_column_name16
41sqlite3_column_text
42sqlite3_column_text16
43sqlite3_column_type
44sqlite3_column_value
45sqlite3_commit_hook
46sqlite3_complete
47sqlite3_complete16
48sqlite3_create_collation
49sqlite3_create_collation16
50sqlite3_create_collation_v2
51sqlite3_create_function
52sqlite3_create_function16
53sqlite3_create_module
54sqlite3_create_module_v2
55sqlite3_data_count
56sqlite3_db_handle
57sqlite3_declare_vtab
58sqlite3_enable_load_extension
59sqlite3_enable_shared_cache
60sqlite3_errcode
61sqlite3_errmsg
62sqlite3_errmsg16
63sqlite3_exec
64sqlite3_expired
65sqlite3_extended_result_codes
66sqlite3_finalize
67sqlite3_free
68sqlite3_free_table
69sqlite3_get_autocommit
70sqlite3_get_auxdata
71sqlite3_get_table
72sqlite3_global_recover
73sqlite3_interrupt
74sqlite3_last_insert_rowid
75sqlite3_libversion
76sqlite3_libversion_number
77sqlite3_load_extension
78sqlite3_malloc
79sqlite3_mprintf
80sqlite3_open
81sqlite3_open16
82sqlite3_overload_function
83sqlite3_prepare
84sqlite3_prepare16
85sqlite3_prepare16_v2
86sqlite3_prepare_v2
87sqlite3_profile
88sqlite3_progress_handler
89sqlite3_realloc
90sqlite3_reset
91sqlite3_reset_auto_extension
92sqlite3_result_blob
93sqlite3_result_double
94sqlite3_result_error
95sqlite3_result_error16
96sqlite3_result_error_toobig
97sqlite3_result_int
98sqlite3_result_int64
99sqlite3_result_null
100sqlite3_result_text
101sqlite3_result_text16
102sqlite3_result_text16be
103sqlite3_result_text16le
104sqlite3_result_value
105sqlite3_result_zeroblob
106sqlite3_rollback_hook
107sqlite3_set_authorizer
108sqlite3_set_auxdata
109sqlite3_sleep
110sqlite3_snprintf
111sqlite3_step
112sqlite3_thread_cleanup
113sqlite3_total_changes
114sqlite3_trace
115sqlite3_transfer_bindings
116sqlite3_update_hook
117sqlite3_user_data
118sqlite3_value_blob
119sqlite3_value_bytes
120sqlite3_value_bytes16
121sqlite3_value_double
122sqlite3_value_int
123sqlite3_value_int64
124sqlite3_value_numeric_type
125sqlite3_value_text
126sqlite3_value_text16
127sqlite3_value_text16be
128sqlite3_value_text16le
129sqlite3_value_type
130sqlite3_version
131sqlite3_vmprintf
diff --git a/bin/sqlite3.dll b/bin/sqlite3.dll
new file mode 100644
index 0000000..29258fb
--- /dev/null
+++ b/bin/sqlite3.dll
Binary files differ
diff --git a/prebuild.xml b/prebuild.xml
index 9d61011..572a5de 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -93,11 +93,13 @@
93 <ReferencePath>../../../bin/</ReferencePath> 93 <ReferencePath>../../../bin/</ReferencePath>
94 <Reference name="System"/> 94 <Reference name="System"/>
95 <Reference name="System.Xml"/> 95 <Reference name="System.Xml"/>
96 <Reference name="System.Data"/>
96 <Reference name="libsecondlife.dll"/> 97 <Reference name="libsecondlife.dll"/>
97 <Reference name="Db4objects.Db4o.dll"/> 98 <Reference name="Db4objects.Db4o.dll"/>
98 <Reference name="XMLRPC.dll"/> 99 <Reference name="XMLRPC.dll"/>
99 <Reference name="OpenSim.Framework.Console"/> 100 <Reference name="OpenSim.Framework.Console"/>
100 <Reference name="OpenSim.Framework.Data"/> 101 <Reference name="OpenSim.Framework.Data"/>
102 <Reference name="Nini.dll" />
101 <Files> 103 <Files>
102 <Match pattern="*.cs" recurse="true"/> 104 <Match pattern="*.cs" recurse="true"/>
103 </Files> 105 </Files>
@@ -636,7 +638,7 @@
636 </Files> 638 </Files>
637 </Project> 639 </Project>
638 640
639 <Project name="OpenSim.DataStore.MonoSqlite" path="OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite" type="Library"> 641 <Project name="OpenSim.DataStore.MonoSqlite1" path="OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite" type="Library">
640 <Configuration name="Debug"> 642 <Configuration name="Debug">
641 <Options> 643 <Options>
642 <OutputPath>../../../../bin/</OutputPath> 644 <OutputPath>../../../../bin/</OutputPath>