aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/General
diff options
context:
space:
mode:
authorMW2007-08-10 17:22:54 +0000
committerMW2007-08-10 17:22:54 +0000
commit79f0ac82e328e325df28f3af3d4c98a7885a44f5 (patch)
tree2322942186b99ad92990ad7dcb79e6abdd8bed83 /OpenSim/Framework/General
parentRenamed Compiler.LSL to Compiler.LSO (diff)
downloadopensim-SC-79f0ac82e328e325df28f3af3d4c98a7885a44f5.zip
opensim-SC-79f0ac82e328e325df28f3af3d4c98a7885a44f5.tar.gz
opensim-SC-79f0ac82e328e325df28f3af3d4c98a7885a44f5.tar.bz2
opensim-SC-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).
Diffstat (limited to 'OpenSim/Framework/General')
-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
4 files changed, 73 insertions, 111 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}