From 5001f61c08fea2ebfcb2590be69073d04d129d70 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 29 Jan 2010 18:59:41 -0800 Subject: * HGGridConnector is no longer necessary. * Handle logout properly. This needed an addition to IClientAPI, because of how the logout packet is currently being handled -- the agent is being removed from the scene before the different event handlers are executed, which is broken. --- .../ServiceConnectorsOut/Grid/HGGridConnector.cs | 257 --------------------- 1 file changed, 257 deletions(-) delete mode 100644 OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs deleted file mode 100644 index 67eae87..0000000 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/HGGridConnector.cs +++ /dev/null @@ -1,257 +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 System.Net; -using System.Reflection; -using System.Xml; - - -using OpenSim.Framework; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.Framework.Scenes.Hypergrid; -using OpenSim.Services.Interfaces; -using GridRegion = OpenSim.Services.Interfaces.GridRegion; -using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; -using OpenSim.Server.Base; -using OpenSim.Framework.Console; - -using OpenMetaverse; -using log4net; -using Nini.Config; - -namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid -{ - public class HGGridConnector : ISharedRegionModule, IGridService - { - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); - - private bool m_Enabled = false; - private bool m_Initialized = false; - - private Scene m_aScene; - private Dictionary m_LocalScenes = new Dictionary(); - - private IGridService m_GridServiceConnector; - - #region ISharedRegionModule - - public Type ReplaceableInterface - { - get { return null; } - } - - public string Name - { - get { return "HGGridServicesConnector"; } - } - - public void Initialise(IConfigSource source) - { - IConfig moduleConfig = source.Configs["Modules"]; - if (moduleConfig != null) - { - string name = moduleConfig.GetString("GridServices", ""); - if (name == Name) - { - IConfig gridConfig = source.Configs["GridService"]; - if (gridConfig == null) - { - m_log.Error("[HGGRID CONNECTOR]: GridService missing from OpenSim.ini"); - return; - } - - - InitialiseConnectorModule(source); - - m_Enabled = true; - m_log.Info("[HGGRID CONNECTOR]: HG grid enabled"); - } - } - } - - private void InitialiseConnectorModule(IConfigSource source) - { - IConfig gridConfig = source.Configs["GridService"]; - if (gridConfig == null) - { - m_log.Error("[HGGRID CONNECTOR]: GridService missing from OpenSim.ini"); - throw new Exception("Grid connector init error"); - } - - string module = gridConfig.GetString("GridServiceConnectorModule", String.Empty); - if (module == String.Empty) - { - m_log.Error("[HGGRID CONNECTOR]: No GridServiceConnectorModule named in section GridService"); - throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's"); - } - - Object[] args = new Object[] { source }; - m_GridServiceConnector = ServerUtils.LoadPlugin(module, args); - - } - - public void PostInitialise() - { - if (m_Enabled) - ((ISharedRegionModule)m_GridServiceConnector).PostInitialise(); - } - - public void Close() - { - } - - public void AddRegion(Scene scene) - { - if (!m_Enabled) - return; - - m_LocalScenes[scene.RegionInfo.RegionHandle] = scene; - scene.RegisterModuleInterface(this); - - ((ISharedRegionModule)m_GridServiceConnector).AddRegion(scene); - - } - - public void RemoveRegion(Scene scene) - { - if (m_Enabled) - { - m_LocalScenes.Remove(scene.RegionInfo.RegionHandle); - scene.UnregisterModuleInterface(this); - ((ISharedRegionModule)m_GridServiceConnector).RemoveRegion(scene); - } - } - - public void RegionLoaded(Scene scene) - { - if (!m_Enabled) - return; - - if (!m_Initialized) - { - m_aScene = scene; - - m_Initialized = true; - } - } - - #endregion - - #region IGridService - - public string RegisterRegion(UUID scopeID, GridRegion regionInfo) - { - return m_GridServiceConnector.RegisterRegion(scopeID, regionInfo); - } - - public bool DeregisterRegion(UUID regionID) - { - return m_GridServiceConnector.DeregisterRegion(regionID); - } - - public List GetNeighbours(UUID scopeID, UUID regionID) - { - // No serving neighbours on hyperliked regions. - // Just the regular regions. - return m_GridServiceConnector.GetNeighbours(scopeID, regionID); - } - - public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID) - { - return m_GridServiceConnector.GetRegionByUUID(scopeID, regionID); - //if (region != null) - // return region; - - //region = m_HypergridService.GetRegionByUUID(regionID); - - //return region; - } - - public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) - { - int snapX = (int) (x / Constants.RegionSize) * (int)Constants.RegionSize; - int snapY = (int) (y / Constants.RegionSize) * (int)Constants.RegionSize; - - GridRegion region = m_GridServiceConnector.GetRegionByPosition(scopeID, x, y); - //if (region != null) - // return region; - - //region = m_HypergridService.GetRegionByPosition(snapX, snapY); - - return region; - } - - public GridRegion GetRegionByName(UUID scopeID, string regionName) - { - // Try normal grid first - GridRegion region = m_GridServiceConnector.GetRegionByName(scopeID, regionName); - if (region != null) - return region; - - //region = m_HypergridService.GetRegionByName(regionName); - - return region; - } - - public List GetRegionsByName(UUID scopeID, string name, int maxNumber) - { - if (name == string.Empty) - return new List(); - - return m_GridServiceConnector.GetRegionsByName(scopeID, name, maxNumber); - } - - public List GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) - { - return m_GridServiceConnector.GetRegionRange(scopeID, xmin, xmax, ymin, ymax); - } - - public List GetDefaultRegions(UUID scopeID) - { - return m_GridServiceConnector.GetDefaultRegions(scopeID); - } - - public List GetFallbackRegions(UUID scopeID, int x, int y) - { - return m_GridServiceConnector.GetFallbackRegions(scopeID, x, y); - } - - public int GetRegionFlags(UUID scopeID, UUID regionID) - { - return m_GridServiceConnector.GetRegionFlags(scopeID, regionID); - } - - #endregion - - - } -} -- cgit v1.1