aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie Thielker2009-05-05 04:37:06 +0000
committerMelanie Thielker2009-05-05 04:37:06 +0000
commitd1c9a41be0c3648251259f955f31cf7a4135e7f7 (patch)
treebe74fc2c39b668577e0b43d05fec2fd2291e9323 /OpenSim
parentCommitting the user server executable skeleton (diff)
downloadopensim-SC-d1c9a41be0c3648251259f955f31cf7a4135e7f7.zip
opensim-SC-d1c9a41be0c3648251259f955f31cf7a4135e7f7.tar.gz
opensim-SC-d1c9a41be0c3648251259f955f31cf7a4135e7f7.tar.bz2
opensim-SC-d1c9a41be0c3648251259f955f31cf7a4135e7f7.tar.xz
Plumb the new server connector logic
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml1
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectors/User/LocalUserServicesConnector.cs85
-rw-r--r--OpenSim/Servers/Base/HttpServerBase.cs5
-rw-r--r--OpenSim/Servers/Base/ServicesServerBase.cs5
-rw-r--r--OpenSim/Servers/User/UserServerConnector.cs44
-rw-r--r--OpenSim/Servers/User/UserServerMain.cs11
-rw-r--r--OpenSim/Services/UserService/UserService.cs33
7 files changed, 180 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
index 2920a96..80582be 100644
--- a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
+++ b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
@@ -11,6 +11,7 @@
11 <RegionModule id="TerrainModule" type="OpenSim.Region.CoreModules.World.Terrain.TerrainModule" /> 11 <RegionModule id="TerrainModule" type="OpenSim.Region.CoreModules.World.Terrain.TerrainModule" />
12 <RegionModule id="WorldMapModule" type="OpenSim.Region.CoreModules.World.WorldMap.WorldMapModule" /> 12 <RegionModule id="WorldMapModule" type="OpenSim.Region.CoreModules.World.WorldMap.WorldMapModule" />
13 <RegionModule id="HGWorldMapModule" type="OpenSim.Region.CoreModules.Hypergrid.HGWorldMapModule" /> 13 <RegionModule id="HGWorldMapModule" type="OpenSim.Region.CoreModules.Hypergrid.HGWorldMapModule" />
14 <RegionModule id="LocalUserServicesConnector" type="OpenSim.Region.CoreModules.ServiceConnectors.User.LocalUserServicesConnector" />
14 </Extension> 15 </Extension>
15 16
16 <Extension path = "/OpenSim/WindModule"> 17 <Extension path = "/OpenSim/WindModule">
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/User/LocalUserServicesConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/User/LocalUserServicesConnector.cs
new file mode 100644
index 0000000..38f32ed
--- /dev/null
+++ b/OpenSim/Region/CoreModules/ServiceConnectors/User/LocalUserServicesConnector.cs
@@ -0,0 +1,85 @@
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 Nini.Config;
29using OpenSim.Region.Framework.Interfaces;
30using OpenSim.Region.Framework.Scenes;
31using OpenSim.Services.Interfaces;
32using OpenSim.Services.UserService;
33
34namespace OpenSim.Region.CoreModules.ServiceConnectors.User
35{
36 public class LocalUserServicesConnector : INonSharedRegionModule
37 {
38 private IUserServices m_UserServices;
39
40 private bool m_Enabled = false;
41
42 public string Name
43 {
44 get { return "LocalUserServicesConnector"; }
45 }
46
47 public void Initialise(IConfigSource source)
48 {
49 IConfig moduleConfig = source.Configs["Modules"];
50 if (moduleConfig != null)
51 {
52 string name = moduleConfig.GetString("UserServices", "");
53 if (name == Name)
54 {
55 m_Enabled = true;
56 m_UserServices = new UserService(source);
57 }
58 }
59 }
60
61 public void Close()
62 {
63 if (!m_Enabled)
64 return;
65 }
66
67 public void AddRegion(Scene scene)
68 {
69 if (!m_Enabled)
70 return;
71 }
72
73 public void RemoveRegion(Scene scene)
74 {
75 if (!m_Enabled)
76 return;
77 }
78
79 public void RegionLoaded(Scene scene)
80 {
81 if (!m_Enabled)
82 return;
83 }
84 }
85}
diff --git a/OpenSim/Servers/Base/HttpServerBase.cs b/OpenSim/Servers/Base/HttpServerBase.cs
index f36c6c9..5286744 100644
--- a/OpenSim/Servers/Base/HttpServerBase.cs
+++ b/OpenSim/Servers/Base/HttpServerBase.cs
@@ -47,6 +47,11 @@ namespace OpenSim.Servers.Base
47 // 47 //
48 protected BaseHttpServer m_HttpServer = null; 48 protected BaseHttpServer m_HttpServer = null;
49 49
50 public IHttpServer HttpServer
51 {
52 get { return m_HttpServer; }
53 }
54
50 // Handle all the automagical stuff 55 // Handle all the automagical stuff
51 // 56 //
52 public HttpServerBase(string prompt, string[] args) : base(prompt, args) 57 public HttpServerBase(string prompt, string[] args) : base(prompt, args)
diff --git a/OpenSim/Servers/Base/ServicesServerBase.cs b/OpenSim/Servers/Base/ServicesServerBase.cs
index 2673cbe..b090e8c 100644
--- a/OpenSim/Servers/Base/ServicesServerBase.cs
+++ b/OpenSim/Servers/Base/ServicesServerBase.cs
@@ -55,6 +55,11 @@ namespace OpenSim.Servers.Base
55 // 55 //
56 protected IConfigSource m_Config = null; 56 protected IConfigSource m_Config = null;
57 57
58 public IConfigSource Config
59 {
60 get { return m_Config; }
61 }
62
58 // Run flag 63 // Run flag
59 // 64 //
60 private bool m_Running = true; 65 private bool m_Running = true;
diff --git a/OpenSim/Servers/User/UserServerConnector.cs b/OpenSim/Servers/User/UserServerConnector.cs
new file mode 100644
index 0000000..b86fdb7
--- /dev/null
+++ b/OpenSim/Servers/User/UserServerConnector.cs
@@ -0,0 +1,44 @@
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 Nini.Config;
29using OpenSim.Services.Interfaces;
30using OpenSim.Services.UserService;
31using OpenSim.Framework.Servers.HttpServer;
32
33namespace OpenSim.Servers.UserServer
34{
35 public class UserServiceConnector
36 {
37 private IUserServices m_UserServices;
38
39 public UserServiceConnector(IConfigSource config, IHttpServer server)
40 {
41 m_UserServices = new UserService(config);
42 }
43 }
44}
diff --git a/OpenSim/Servers/User/UserServerMain.cs b/OpenSim/Servers/User/UserServerMain.cs
index d4f5e6d..7dea5d7 100644
--- a/OpenSim/Servers/User/UserServerMain.cs
+++ b/OpenSim/Servers/User/UserServerMain.cs
@@ -28,16 +28,21 @@
28using System; 28using System;
29using OpenSim.Servers.Base; 29using OpenSim.Servers.Base;
30 30
31namespace OpenSim.Servers.Base 31namespace OpenSim.Servers.UserServer
32{ 32{
33 public class SimpleServer 33 public class UserServer
34 { 34 {
35 protected static ServicesServerBase m_Server = null; 35 protected static HttpServerBase m_Server = null;
36
37 protected static UserServiceConnector m_UserServiceConnector;
36 38
37 static int Main(string[] args) 39 static int Main(string[] args)
38 { 40 {
39 m_Server = new HttpServerBase("User", args); 41 m_Server = new HttpServerBase("User", args);
40 42
43 m_UserServiceConnector = new UserServiceConnector(m_Server.Config,
44 m_Server.HttpServer);
45
41 return m_Server.Run(); 46 return m_Server.Run();
42 } 47 }
43 } 48 }
diff --git a/OpenSim/Services/UserService/UserService.cs b/OpenSim/Services/UserService/UserService.cs
index dc6a81e..07c55ed 100644
--- a/OpenSim/Services/UserService/UserService.cs
+++ b/OpenSim/Services/UserService/UserService.cs
@@ -1,8 +1,39 @@
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 Nini.Config;
1using OpenSim.Services.Interfaces; 29using OpenSim.Services.Interfaces;
2 30
3namespace OpenSim.Services.UserService 31namespace OpenSim.Services.UserService
4{ 32{
5 class UserServiceCore : IUserServices 33 public class UserService : IUserServices
6 { 34 {
35 public UserService(IConfigSource config)
36 {
37 }
7 } 38 }
8} 39}