From d1c9a41be0c3648251259f955f31cf7a4135e7f7 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 5 May 2009 04:37:06 +0000 Subject: Plumb the new server connector logic --- .../Resources/CoreModulePlugin.addin.xml | 1 + .../User/LocalUserServicesConnector.cs | 85 ++++++++++++++++++++++ OpenSim/Servers/Base/HttpServerBase.cs | 5 ++ OpenSim/Servers/Base/ServicesServerBase.cs | 5 ++ OpenSim/Servers/User/UserServerConnector.cs | 44 +++++++++++ OpenSim/Servers/User/UserServerMain.cs | 11 ++- OpenSim/Services/UserService/UserService.cs | 33 ++++++++- 7 files changed, 180 insertions(+), 4 deletions(-) create mode 100644 OpenSim/Region/CoreModules/ServiceConnectors/User/LocalUserServicesConnector.cs create mode 100644 OpenSim/Servers/User/UserServerConnector.cs (limited to 'OpenSim') 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 @@ + 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 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using Nini.Config; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Services.Interfaces; +using OpenSim.Services.UserService; + +namespace OpenSim.Region.CoreModules.ServiceConnectors.User +{ + public class LocalUserServicesConnector : INonSharedRegionModule + { + private IUserServices m_UserServices; + + private bool m_Enabled = false; + + public string Name + { + get { return "LocalUserServicesConnector"; } + } + + public void Initialise(IConfigSource source) + { + IConfig moduleConfig = source.Configs["Modules"]; + if (moduleConfig != null) + { + string name = moduleConfig.GetString("UserServices", ""); + if (name == Name) + { + m_Enabled = true; + m_UserServices = new UserService(source); + } + } + } + + public void Close() + { + if (!m_Enabled) + return; + } + + public void AddRegion(Scene scene) + { + if (!m_Enabled) + return; + } + + public void RemoveRegion(Scene scene) + { + if (!m_Enabled) + return; + } + + public void RegionLoaded(Scene scene) + { + if (!m_Enabled) + return; + } + } +} 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 // protected BaseHttpServer m_HttpServer = null; + public IHttpServer HttpServer + { + get { return m_HttpServer; } + } + // Handle all the automagical stuff // 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 // protected IConfigSource m_Config = null; + public IConfigSource Config + { + get { return m_Config; } + } + // Run flag // 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 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using Nini.Config; +using OpenSim.Services.Interfaces; +using OpenSim.Services.UserService; +using OpenSim.Framework.Servers.HttpServer; + +namespace OpenSim.Servers.UserServer +{ + public class UserServiceConnector + { + private IUserServices m_UserServices; + + public UserServiceConnector(IConfigSource config, IHttpServer server) + { + m_UserServices = new UserService(config); + } + } +} 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 @@ using System; using OpenSim.Servers.Base; -namespace OpenSim.Servers.Base +namespace OpenSim.Servers.UserServer { - public class SimpleServer + public class UserServer { - protected static ServicesServerBase m_Server = null; + protected static HttpServerBase m_Server = null; + + protected static UserServiceConnector m_UserServiceConnector; static int Main(string[] args) { m_Server = new HttpServerBase("User", args); + m_UserServiceConnector = new UserServiceConnector(m_Server.Config, + m_Server.HttpServer); + return m_Server.Run(); } } 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 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using Nini.Config; using OpenSim.Services.Interfaces; namespace OpenSim.Services.UserService { - class UserServiceCore : IUserServices + public class UserService : IUserServices { + public UserService(IConfigSource config) + { + } } } -- cgit v1.1