From b202ab02d0e883a63999993c2d9278b7a703135b Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 10 Jul 2009 03:28:10 +0000 Subject: Adding the new grid services skeleton. Still very much based on the old one but alowing multi-tenancy. --- OpenSim/Services/Grid/GridService.cs | 79 +++++++++++++++++++++++++++ OpenSim/Services/Interfaces/IGridService.cs | 83 +++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 OpenSim/Services/Grid/GridService.cs create mode 100644 OpenSim/Services/Interfaces/IGridService.cs (limited to 'OpenSim') diff --git a/OpenSim/Services/Grid/GridService.cs b/OpenSim/Services/Grid/GridService.cs new file mode 100644 index 0000000..47710d8 --- /dev/null +++ b/OpenSim/Services/Grid/GridService.cs @@ -0,0 +1,79 @@ +/* + * 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.Collections.Generic; +using OpenMetaverse; +using OpenSim.Services.Interfaces; + +namespace OpenSim.Services.Interfaces +{ + public class GridService : IGridService + { + bool RegisterRegion(UUID scopeID, RegionInfo regionInfos); + { + return false; + } + + bool DeregisterRegion(UUID regionID); + { + return false; + } + + List RequestNeighbours(UUID scopeID, uint x, uint y) + { + return new List() + } + + RegionInfo RequestNeighbourInfo(UUID regionID) + { + return null; + } + + RegionInfo RequestClosestRegion(UUID scopeID, string regionName) + { + return null; + } + + List RequestNeighbourMapBlocks(UUID scopeID, int minX, + int minY, int maxX, int maxY) + { + return new List(); + } + + LandData RequestLandData(UUID scopeID, ulong regionHandle, + uint x, uint y) + { + return null; + } + + List RequestNamedRegions(UUID scopeID, string name, + int maxNumber) + { + return new List(); + } + } +} diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs new file mode 100644 index 0000000..25519f7 --- /dev/null +++ b/OpenSim/Services/Interfaces/IGridService.cs @@ -0,0 +1,83 @@ +/* + * 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 System.Collections.Generic; +using OpenMetaverse; + +namespace OpenSim.Services.Interfaces +{ + public interface IGridService + { + /// + /// Register a region with the grid service. + /// + /// + /// + /// Thrown if region registration failed + bool RegisterRegion(UUID scopeID, RegionInfo regionInfos); + + /// + /// Deregister a region with the grid service. + /// + /// + /// + /// Thrown if region deregistration failed + bool DeregisterRegion(UUID regionID); + + /// + /// Get information about the regions neighbouring the given co-ordinates. + /// + /// + /// + /// + List RequestNeighbours(UUID scopeID, uint x, uint y); + + RegionInfo RequestNeighbourInfo(UUID regionID); + + RegionInfo RequestClosestRegion(UUID scopeID, string regionName); + + List RequestNeighbourMapBlocks(UUID scopeID, int minX, int minY, int maxX, int maxY); + // not complete yet, only contains the fields needed for ParcelInfoReqeust + LandData RequestLandData(UUID scopeID, ulong regionHandle, uint x, uint y); + + /// + /// Get information about regions starting with the provided name. + /// + /// + /// The name to match against. + /// + /// + /// The maximum number of results to return. + /// + /// + /// A list of s of regions with matching name. If the + /// grid-server couldn't be contacted or returned an error, return null. + /// + List RequestNamedRegions(UUID scopeID, string name, int maxNumber); + } +} -- cgit v1.1