diff --git a/OpenSim/Grid/Framework/XMPPHTTPService.cs b/OpenSim/Grid/Framework/XMPPHTTPService.cs new file mode 100644 index 0000000000..bb09c8ab77 --- /dev/null +++ b/OpenSim/Grid/Framework/XMPPHTTPService.cs @@ -0,0 +1,110 @@ +/* + * 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 System; +using System.IO; +using System.Reflection; +using log4net; +using OpenMetaverse; +using OpenSim.Framework.Servers; + +namespace OpenSim.Grid.Framework +{ + public class XMPPHTTPStreamHandler : BaseStreamHandler + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + + /// + /// Constructor. + /// + /// + /// + public XMPPHTTPStreamHandler() + : base("GET", "/presence") + { + m_log.Info("[REST]: In Get Request"); + + } + + public override byte[] Handle(string path, Stream request, + OSHttpRequest httpRequest, OSHttpResponse httpResponse) + { + string param = GetParam(path); + byte[] result = new byte[] {}; + try + { + string[] p = param.Split(new char[] {'/', '?', '&'}, StringSplitOptions.RemoveEmptyEntries); + + if (p.Length > 0) + { + UUID assetID = UUID.Zero; + + if (!UUID.TryParse(p[0], out assetID)) + { + m_log.InfoFormat( + "[REST]: GET:/presence ignoring request with malformed UUID {0}", p[0]); + return result; + } + + } + } + catch (Exception e) + { + m_log.Error(e.ToString()); + } + return result; + } + } + + public class PostXMPPStreamHandler : BaseStreamHandler + { + // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public override byte[] Handle(string path, Stream request, + OSHttpRequest httpRequest, OSHttpResponse httpResponse) + { + string param = GetParam(path); + + UUID assetId; + if (param.Length > 0) + UUID.TryParse(param, out assetId); + // byte[] txBuffer = new byte[4096]; + + // TODO: Read POST serialize XMPP stanzas + + return new byte[] {}; + } + + public PostXMPPStreamHandler() + : base("POST", "/presence") + { + + } + + } +} diff --git a/OpenSim/Grid/GridServer/IGridMessagingMapper.cs b/OpenSim/Grid/GridServer/IGridMessagingMapper.cs deleted file mode 100644 index 547502926c..0000000000 --- a/OpenSim/Grid/GridServer/IGridMessagingMapper.cs +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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 OpenSimulator 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 System; -using System.Collections.Generic; -using OpenSim.Framework.Servers; - -namespace OpenSim.Grid.GridServer -{ - /* - public interface IGridMessagingMapper - { - List GetMessageServersList(); - void RegisterMessageServer(MessageServerInfo m); - void DeRegisterMessageServer(MessageServerInfo m); - }*/ -} diff --git a/OpenSim/Grid/GridServer/IUGAIMCore.cs b/OpenSim/Grid/GridServer/IUGAIMCore.cs deleted file mode 100644 index 6c53b59fdb..0000000000 --- a/OpenSim/Grid/GridServer/IUGAIMCore.cs +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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 OpenSimulator 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 System; -using OpenSim.Framework.Servers; - -namespace OpenSim.Grid.GridServer -{ - /* - public interface IUGAIMCore - { - T Get(); - void RegisterInterface(T iface); - bool TryGet(out T iface); - BaseHttpServer GetHttpServer(); - }*/ -} diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs index f09d3601ab..e64d0cacb9 100644 --- a/OpenSim/Grid/MessagingServer/Main.cs +++ b/OpenSim/Grid/MessagingServer/Main.cs @@ -127,6 +127,9 @@ namespace OpenSim.Grid.MessagingServer m_userDataBaseService = new UserDataBaseService(); m_userDataBaseService.AddPlugin(Cfg.DatabaseProvider, Cfg.DatabaseConnect); + //Register the database access service so modules can fetch it + // RegisterInterface(m_userDataBaseService); + m_userServerModule = new MessageUserServerModule(Cfg, this); m_userServerModule.Initialise(); diff --git a/OpenSim/Grid/MessagingServer/PresenceInformer.cs b/OpenSim/Grid/MessagingServer/PresenceInformer.cs index 20342ab988..a8c98f6fa6 100644 --- a/OpenSim/Grid/MessagingServer/PresenceInformer.cs +++ b/OpenSim/Grid/MessagingServer/PresenceInformer.cs @@ -95,8 +95,6 @@ namespace OpenSim.Grid.MessagingServer if (whichRegion != null) { - - Hashtable PresenceParams = new Hashtable(); PresenceParams.Add("agent_id",TalkingAbout.agentData.AgentID.ToString()); PresenceParams.Add("notify_id",UserToUpdate.agentData.AgentID.ToString()); @@ -105,19 +103,14 @@ namespace OpenSim.Grid.MessagingServer else PresenceParams.Add("status","FALSE"); - - - ArrayList SendParams = new ArrayList(); SendParams.Add(PresenceParams); - m_log.InfoFormat("[PRESENCE]: Informing {0}@{1} at {2} about {3}", TalkingAbout.agentData.firstname + " " + TalkingAbout.agentData.lastname, whichRegion.regionName, whichRegion.httpServerURI, UserToUpdate.agentData.firstname + " " + UserToUpdate.agentData.lastname); // Send XmlRpcRequest RegionReq = new XmlRpcRequest("presence_update", SendParams); try { - // XmlRpcResponse RegionResp = RegionReq.Send(whichRegion.httpServerURI, 6000); RegionReq.Send(whichRegion.httpServerURI, 6000); } @@ -137,7 +130,6 @@ namespace OpenSim.Grid.MessagingServer { handlerDone(this); } - } } } diff --git a/OpenSim/Grid/MessagingServer/UserManager.cs b/OpenSim/Grid/MessagingServer/UserManager.cs deleted file mode 100644 index 4b07df70f6..0000000000 --- a/OpenSim/Grid/MessagingServer/UserManager.cs +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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 OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Communications; - -namespace OpenSim.Grid.MessagingServer -{ - class UserManager : UserManagerBase - { - /// - /// Constructor. - /// - /// Passing null to parent because we never use any function that requires an interservice inventory call. - public UserManager() - : base(null) - { - } - - public UserAgentData GetUserAgentData(UUID AgentID) - { - UserProfileData userProfile = GetUserProfile(AgentID); - - if (userProfile != null) - { - return userProfile.CurrentAgent; - } - - return null; - } - - public override UserProfileData SetupMasterUser(string firstName, string lastName) - { - //throw new Exception("The method or operation is not implemented."); - return null; - } - - public override UserProfileData SetupMasterUser(string firstName, string lastName, string password) - { - //throw new Exception("The method or operation is not implemented."); - return null; - } - - public override UserProfileData SetupMasterUser(UUID uuid) - { - //throw new Exception("The method or operation is not implemented."); - return null; - } - } -}