From 5757afe7665543e8b3ed4a322a7d6e095dafcdb3 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 07:48:21 -0700 Subject: First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. --- OpenSim/Services/Interfaces/IGridService.cs | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index ce432ab..96dc82b9 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs @@ -122,9 +122,6 @@ namespace OpenSim.Services.Interfaces } protected string m_regionName = String.Empty; - protected bool Allow_Alternate_Ports; - public bool m_allow_alternate_ports; - protected string m_externalHostName; protected IPEndPoint m_internalEndPoint; @@ -146,6 +143,10 @@ namespace OpenSim.Services.Interfaces public UUID RegionID = UUID.Zero; public UUID ScopeID = UUID.Zero; + public UUID TerrainImage = UUID.Zero; + public byte Access; + public int Maturity; + public GridRegion() { } @@ -183,9 +184,11 @@ namespace OpenSim.Services.Interfaces m_internalEndPoint = ConvertFrom.InternalEndPoint; m_externalHostName = ConvertFrom.ExternalHostName; m_httpPort = ConvertFrom.HttpPort; - m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports; - RegionID = UUID.Zero; + RegionID = ConvertFrom.RegionID; ServerURI = ConvertFrom.ServerURI; + TerrainImage = ConvertFrom.RegionSettings.TerrainImageID; + Access = ConvertFrom.AccessLevel; + Maturity = ConvertFrom.RegionSettings.Maturity; } @@ -268,7 +271,9 @@ namespace OpenSim.Services.Interfaces kvp["serverHttpPort"] = HttpPort.ToString(); kvp["serverURI"] = ServerURI; kvp["serverPort"] = InternalEndPoint.Port.ToString(); - + kvp["regionMapTexture"] = TerrainImage.ToString(); + kvp["access"] = Access.ToString(); + // Maturity doesn't seem to exist in the DB return kvp; } @@ -312,6 +317,16 @@ namespace OpenSim.Services.Interfaces if (kvp.ContainsKey("serverURI")) ServerURI = (string)kvp["serverURI"]; + + if (kvp.ContainsKey("regionMapTexture")) + { + UUID.TryParse((string)kvp["regionMapTexture"], out TerrainImage); + } + + if (kvp.ContainsKey("access")) + { + Access = Byte.Parse((string)kvp["access"]); ; + } } } -- cgit v1.1 From f4bf581b96347b8d7f115eca74fa84a644eb729c Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 21:00:51 -0700 Subject: Moved all HG1 operations to HGGridConnector.cs and HypergridServerConnector.cs/HypergridServiceConnector.cs, away from Region.Communications and HGNetworkServersInfo. Fixed small bugs with hyperlinked regions' map positions. --- OpenSim/Services/Interfaces/IGridService.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index 96dc82b9..c5495fb 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs @@ -191,6 +191,20 @@ namespace OpenSim.Services.Interfaces Maturity = ConvertFrom.RegionSettings.Maturity; } + public GridRegion(GridRegion ConvertFrom) + { + m_regionName = ConvertFrom.RegionName; + m_regionLocX = ConvertFrom.RegionLocX; + m_regionLocY = ConvertFrom.RegionLocY; + m_internalEndPoint = ConvertFrom.InternalEndPoint; + m_externalHostName = ConvertFrom.ExternalHostName; + m_httpPort = ConvertFrom.HttpPort; + RegionID = ConvertFrom.RegionID; + ServerURI = ConvertFrom.ServerURI; + TerrainImage = ConvertFrom.TerrainImage; + Access = ConvertFrom.Access; + Maturity = ConvertFrom.Maturity; + } /// /// This accessor can throw all the exceptions that Dns.GetHostAddresses can throw. -- cgit v1.1 From 5d09c53a1a42b38e1ee35cfbb5571d70b75380f4 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 27 Sep 2009 10:14:10 -0700 Subject: Unpacking the mess with OtherRegionUp, so we can have a real cache of the neighbours in the grid service modules. --- OpenSim/Services/Interfaces/INeighbourService.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/INeighbourService.cs b/OpenSim/Services/Interfaces/INeighbourService.cs index 3944486..960e13d 100644 --- a/OpenSim/Services/Interfaces/INeighbourService.cs +++ b/OpenSim/Services/Interfaces/INeighbourService.cs @@ -28,11 +28,12 @@ using System; using OpenSim.Framework; using OpenMetaverse; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; namespace OpenSim.Services.Interfaces { public interface INeighbourService { - bool HelloNeighbour(ulong regionHandle, RegionInfo thisRegion); + GridRegion HelloNeighbour(ulong regionHandle, RegionInfo otherRegion); } } -- cgit v1.1 From c99b363f81331988ede8fa5e19306073cbb1c58b Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 27 Sep 2009 13:59:00 -0700 Subject: Added missing IHyperlinkService. --- OpenSim/Services/Interfaces/IHyperlink.cs | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 OpenSim/Services/Interfaces/IHyperlink.cs (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IHyperlink.cs b/OpenSim/Services/Interfaces/IHyperlink.cs new file mode 100644 index 0000000..ed3ff23 --- /dev/null +++ b/OpenSim/Services/Interfaces/IHyperlink.cs @@ -0,0 +1,49 @@ +/* + * 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 OpenSim.Framework; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; + +using OpenMetaverse; + +namespace OpenSim.Services.Interfaces +{ + public interface IHyperlinkService + { + GridRegion TryLinkRegion(IClientAPI client, string regionDescriptor); + GridRegion GetHyperlinkRegion(ulong handle); + ulong FindRegionHandle(ulong handle); + + bool SendUserInformation(GridRegion region, AgentCircuitData aCircuit); + void AdjustUserInformation(AgentCircuitData aCircuit); + + bool CheckUserAtEntry(UUID userID, UUID sessionID, out bool comingHome); + void AcceptUser(ForeignUserProfileData user, GridRegion home); + + bool IsLocalUser(UUID userID); + } +} -- cgit v1.1 From 500cd3505a4213363e001426f2286c1a958d345c Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 28 Sep 2009 07:20:38 -0700 Subject: Added RegionSecret to GridRegion, and corresponding saving/retrieval from DB layer. This sounds fishy to me, but it's what's used to make external currency modules work, for now. --- OpenSim/Services/Interfaces/IGridService.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index c5495fb..46a7f09 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs @@ -146,6 +146,7 @@ namespace OpenSim.Services.Interfaces public UUID TerrainImage = UUID.Zero; public byte Access; public int Maturity; + public string RegionSecret; public GridRegion() { @@ -189,6 +190,7 @@ namespace OpenSim.Services.Interfaces TerrainImage = ConvertFrom.RegionSettings.TerrainImageID; Access = ConvertFrom.AccessLevel; Maturity = ConvertFrom.RegionSettings.Maturity; + RegionSecret = ConvertFrom.regionSecret; } public GridRegion(GridRegion ConvertFrom) @@ -204,6 +206,7 @@ namespace OpenSim.Services.Interfaces TerrainImage = ConvertFrom.TerrainImage; Access = ConvertFrom.Access; Maturity = ConvertFrom.Maturity; + RegionSecret = ConvertFrom.RegionSecret; } /// @@ -287,6 +290,7 @@ namespace OpenSim.Services.Interfaces kvp["serverPort"] = InternalEndPoint.Port.ToString(); kvp["regionMapTexture"] = TerrainImage.ToString(); kvp["access"] = Access.ToString(); + kvp["regionSecret"] = RegionSecret; // Maturity doesn't seem to exist in the DB return kvp; } @@ -333,14 +337,14 @@ namespace OpenSim.Services.Interfaces ServerURI = (string)kvp["serverURI"]; if (kvp.ContainsKey("regionMapTexture")) - { UUID.TryParse((string)kvp["regionMapTexture"], out TerrainImage); - } if (kvp.ContainsKey("access")) - { - Access = Byte.Parse((string)kvp["access"]); ; - } + Access = Byte.Parse((string)kvp["access"]); + + if (kvp.ContainsKey("regionSecret")) + RegionSecret =(string)kvp["regionSecret"]; + } } -- cgit v1.1 From ee205e7e812e170f670e690a4e0fa9caa652f226 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Thu, 1 Oct 2009 01:00:09 +0900 Subject: Formatting cleanup. --- OpenSim/Services/Interfaces/IGridService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services/Interfaces') diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index 46a7f09..2290530 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs @@ -50,7 +50,7 @@ namespace OpenSim.Services.Interfaces /// /// /// Thrown if region deregistration failed - bool DeregisterRegion(UUID regionID); + bool DeregisterRegion(UUID regionID); /// /// Get information about the regions neighbouring the given co-ordinates (in meters). -- cgit v1.1