aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs
diff options
context:
space:
mode:
authormingchen2007-11-03 15:09:21 +0000
committermingchen2007-11-03 15:09:21 +0000
commit51488ee7f415950583ba389582692900a2c32831 (patch)
tree7b63fdbb54e9a1bbb3ae7a6ed8d6eac8933e8dbb /OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs
parenttesting different rest post method/class for Grid asset client. (possible tha... (diff)
downloadopensim-SC-51488ee7f415950583ba389582692900a2c32831.zip
opensim-SC-51488ee7f415950583ba389582692900a2c32831.tar.gz
opensim-SC-51488ee7f415950583ba389582692900a2c32831.tar.bz2
opensim-SC-51488ee7f415950583ba389582692900a2c32831.tar.xz
*Moved region loading into its own interface IRegionLoader
*Added ability to load regioninfo remotely from a webserver from a single file. See share/RegionLoading/HOWTO_REMOTE_REGION_LOADING.txt for more info and an example file.
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs
new file mode 100644
index 0000000..5ebcb64
--- /dev/null
+++ b/OpenSim/Framework/RegionLoader/Filesystem/RegionLoaderFileSystem.cs
@@ -0,0 +1,72 @@
1/*
2* Copyright (c) Contributors, http://opensimulator.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 System;
29using System.Collections.Generic;
30using System.Text;
31using Nini.Config;
32using OpenSim.Framework;
33using System.IO;
34
35namespace OpenSim.Framework.RegionLoader.Filesystem
36{
37 public class RegionLoaderFileSystem : IRegionLoader
38 {
39 public void SetIniConfigSource(IniConfigSource configSource)
40 {
41 }
42 public RegionInfo[] LoadRegions()
43 {
44 string regionConfigPath = Path.Combine(Util.configDir(), "Regions");
45
46 if (!Directory.Exists(regionConfigPath))
47 {
48 Directory.CreateDirectory(regionConfigPath);
49 }
50
51 string[] configFiles = Directory.GetFiles(regionConfigPath, "*.xml");
52
53 if (configFiles.Length == 0)
54 {
55 new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "default.xml"));
56 configFiles = Directory.GetFiles(regionConfigPath, "*.xml");
57 }
58
59 RegionInfo[] regionInfos = new RegionInfo[configFiles.Length];
60 for (int i = 0; i < configFiles.Length; i++)
61 {
62
63 RegionInfo regionInfo = new RegionInfo("REGION CONFIG #" + (i + 1), configFiles[i]);
64 regionInfos[i] = regionInfo;
65 }
66
67
68 return regionInfos;
69 }
70
71 }
72}