diff options
-rw-r--r-- | OpenSim/Framework/General/Interfaces/ILocalStorage.cs | 71 | ||||
-rw-r--r-- | OpenSim/Framework/General/Interfaces/IUserServer.cs | 39 | ||||
-rw-r--r-- | OpenSim/Framework/General/Types/RegionInfo.cs | 49 | ||||
-rw-r--r-- | OpenSim/Framework/General/Util.cs | 25 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 61 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Assets/InventoryCache.cs | 23 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/RegionApplicationBase.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | 7 | ||||
-rw-r--r-- | bin/Mono.Data.SqliteClient.dll | bin | 0 -> 52224 bytes | |||
-rw-r--r-- | bin/OpenSim.ini | 4 | ||||
-rw-r--r-- | bin/sqlite-3.4.1.so | bin | 0 -> 277804 bytes | |||
-rw-r--r-- | bin/sqlite3.def | 131 | ||||
-rw-r--r-- | bin/sqlite3.dll | bin | 0 -> 363686 bytes | |||
-rw-r--r-- | prebuild.xml | 4 |
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 | |||
29 | using libsecondlife; | ||
30 | using OpenSim.Framework.Types; | ||
31 | |||
32 | namespace 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 | */ | ||
28 | using libsecondlife; | ||
29 | using OpenSim.Framework.Inventory; | ||
30 | |||
31 | namespace 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; | |||
29 | using System.Globalization; | 29 | using System.Globalization; |
30 | using System.Net; | 30 | using System.Net; |
31 | using System.Net.Sockets; | 31 | using System.Net.Sockets; |
32 | using Nini.Config; | ||
32 | using libsecondlife; | 33 | using libsecondlife; |
33 | using OpenSim.Framework.Console; | 34 | using OpenSim.Framework.Console; |
34 | using OpenSim.Framework.Interfaces; | 35 | using 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; | |||
32 | using System.Text; | 32 | using System.Text; |
33 | using libsecondlife; | 33 | using libsecondlife; |
34 | 34 | ||
35 | using Nini.Config; | ||
36 | |||
35 | namespace OpenSim.Framework.Utilities | 37 | namespace 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 @@ | |||
1 | using System; | 1 | using System; |
2 | using System.Collections.Generic; | 2 | using System.Collections.Generic; |
3 | using System.Text; | 3 | using System.Text; |
4 | using System.IO; | ||
5 | 4 | ||
6 | using OpenSim.Region.Environment.Scenes; | 5 | using OpenSim.Region.Environment.Scenes; |
7 | using OpenSim.Region.Environment.LandManagement; | 6 | using 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] | ||
2 | gridmode = false | ||
3 | physics = basicphysics | ||
4 | storage_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 @@ | |||
1 | EXPORTS | ||
2 | sqlite3_aggregate_context | ||
3 | sqlite3_aggregate_count | ||
4 | sqlite3_apis | ||
5 | sqlite3_auto_extension | ||
6 | sqlite3_bind_blob | ||
7 | sqlite3_bind_double | ||
8 | sqlite3_bind_int | ||
9 | sqlite3_bind_int64 | ||
10 | sqlite3_bind_null | ||
11 | sqlite3_bind_parameter_count | ||
12 | sqlite3_bind_parameter_index | ||
13 | sqlite3_bind_parameter_name | ||
14 | sqlite3_bind_text | ||
15 | sqlite3_bind_text16 | ||
16 | sqlite3_bind_value | ||
17 | sqlite3_bind_zeroblob | ||
18 | sqlite3_blob_bytes | ||
19 | sqlite3_blob_close | ||
20 | sqlite3_blob_open | ||
21 | sqlite3_blob_read | ||
22 | sqlite3_blob_write | ||
23 | sqlite3_busy_handler | ||
24 | sqlite3_busy_timeout | ||
25 | sqlite3_changes | ||
26 | sqlite3_clear_bindings | ||
27 | sqlite3_close | ||
28 | sqlite3_collation_needed | ||
29 | sqlite3_collation_needed16 | ||
30 | sqlite3_column_blob | ||
31 | sqlite3_column_bytes | ||
32 | sqlite3_column_bytes16 | ||
33 | sqlite3_column_count | ||
34 | sqlite3_column_decltype | ||
35 | sqlite3_column_decltype16 | ||
36 | sqlite3_column_double | ||
37 | sqlite3_column_int | ||
38 | sqlite3_column_int64 | ||
39 | sqlite3_column_name | ||
40 | sqlite3_column_name16 | ||
41 | sqlite3_column_text | ||
42 | sqlite3_column_text16 | ||
43 | sqlite3_column_type | ||
44 | sqlite3_column_value | ||
45 | sqlite3_commit_hook | ||
46 | sqlite3_complete | ||
47 | sqlite3_complete16 | ||
48 | sqlite3_create_collation | ||
49 | sqlite3_create_collation16 | ||
50 | sqlite3_create_collation_v2 | ||
51 | sqlite3_create_function | ||
52 | sqlite3_create_function16 | ||
53 | sqlite3_create_module | ||
54 | sqlite3_create_module_v2 | ||
55 | sqlite3_data_count | ||
56 | sqlite3_db_handle | ||
57 | sqlite3_declare_vtab | ||
58 | sqlite3_enable_load_extension | ||
59 | sqlite3_enable_shared_cache | ||
60 | sqlite3_errcode | ||
61 | sqlite3_errmsg | ||
62 | sqlite3_errmsg16 | ||
63 | sqlite3_exec | ||
64 | sqlite3_expired | ||
65 | sqlite3_extended_result_codes | ||
66 | sqlite3_finalize | ||
67 | sqlite3_free | ||
68 | sqlite3_free_table | ||
69 | sqlite3_get_autocommit | ||
70 | sqlite3_get_auxdata | ||
71 | sqlite3_get_table | ||
72 | sqlite3_global_recover | ||
73 | sqlite3_interrupt | ||
74 | sqlite3_last_insert_rowid | ||
75 | sqlite3_libversion | ||
76 | sqlite3_libversion_number | ||
77 | sqlite3_load_extension | ||
78 | sqlite3_malloc | ||
79 | sqlite3_mprintf | ||
80 | sqlite3_open | ||
81 | sqlite3_open16 | ||
82 | sqlite3_overload_function | ||
83 | sqlite3_prepare | ||
84 | sqlite3_prepare16 | ||
85 | sqlite3_prepare16_v2 | ||
86 | sqlite3_prepare_v2 | ||
87 | sqlite3_profile | ||
88 | sqlite3_progress_handler | ||
89 | sqlite3_realloc | ||
90 | sqlite3_reset | ||
91 | sqlite3_reset_auto_extension | ||
92 | sqlite3_result_blob | ||
93 | sqlite3_result_double | ||
94 | sqlite3_result_error | ||
95 | sqlite3_result_error16 | ||
96 | sqlite3_result_error_toobig | ||
97 | sqlite3_result_int | ||
98 | sqlite3_result_int64 | ||
99 | sqlite3_result_null | ||
100 | sqlite3_result_text | ||
101 | sqlite3_result_text16 | ||
102 | sqlite3_result_text16be | ||
103 | sqlite3_result_text16le | ||
104 | sqlite3_result_value | ||
105 | sqlite3_result_zeroblob | ||
106 | sqlite3_rollback_hook | ||
107 | sqlite3_set_authorizer | ||
108 | sqlite3_set_auxdata | ||
109 | sqlite3_sleep | ||
110 | sqlite3_snprintf | ||
111 | sqlite3_step | ||
112 | sqlite3_thread_cleanup | ||
113 | sqlite3_total_changes | ||
114 | sqlite3_trace | ||
115 | sqlite3_transfer_bindings | ||
116 | sqlite3_update_hook | ||
117 | sqlite3_user_data | ||
118 | sqlite3_value_blob | ||
119 | sqlite3_value_bytes | ||
120 | sqlite3_value_bytes16 | ||
121 | sqlite3_value_double | ||
122 | sqlite3_value_int | ||
123 | sqlite3_value_int64 | ||
124 | sqlite3_value_numeric_type | ||
125 | sqlite3_value_text | ||
126 | sqlite3_value_text16 | ||
127 | sqlite3_value_text16be | ||
128 | sqlite3_value_text16le | ||
129 | sqlite3_value_type | ||
130 | sqlite3_version | ||
131 | sqlite3_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> |