Moved GridInfo service from where it was to Handlers/Grid
parent
7624184b15
commit
49618dc102
|
@ -68,7 +68,6 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
|||
protected BaseHttpServer m_httpServer;
|
||||
|
||||
protected CommunicationsManager m_commsManager;
|
||||
protected GridInfoService m_gridInfoService;
|
||||
|
||||
protected IRegionCreator m_regionCreator;
|
||||
|
||||
|
@ -201,11 +200,6 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
|||
|
||||
private void CreateGridInfoService()
|
||||
{
|
||||
// provide grid info
|
||||
m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source);
|
||||
m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,8 +66,6 @@ namespace OpenSim.Grid.UserServer
|
|||
public UserLoginService m_loginService;
|
||||
public MessageServersConnector m_messagesService;
|
||||
|
||||
protected GridInfoServiceModule m_gridInfoService;
|
||||
|
||||
protected UserServerCommandModule m_consoleCommandModule;
|
||||
protected UserServerEventDispatchModule m_eventDispatcher;
|
||||
|
||||
|
@ -213,9 +211,6 @@ namespace OpenSim.Grid.UserServer
|
|||
|
||||
m_messagesService = new MessageServersConnector();
|
||||
m_messagesService.Initialise(this);
|
||||
|
||||
m_gridInfoService = new GridInfoServiceModule();
|
||||
m_gridInfoService.Initialise(this);
|
||||
}
|
||||
|
||||
protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService)
|
||||
|
@ -252,7 +247,6 @@ namespace OpenSim.Grid.UserServer
|
|||
m_userDataBaseService.PostInitialise();
|
||||
m_messagesService.PostInitialise();
|
||||
m_eventDispatcher.PostInitialise(); //it will register event handlers in here
|
||||
m_gridInfoService.PostInitialise();
|
||||
m_userManager.PostInitialise();
|
||||
m_avatarAppearanceModule.PostInitialise();
|
||||
m_friendsModule.PostInitialise();
|
||||
|
@ -266,7 +260,6 @@ namespace OpenSim.Grid.UserServer
|
|||
m_friendsModule.RegisterHandlers(m_httpServer);
|
||||
m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
|
||||
m_messagesService.RegisterHandlers(m_httpServer);
|
||||
m_gridInfoService.RegisterHandlers(m_httpServer);
|
||||
}
|
||||
|
||||
public override void ShutdownSpecific()
|
||||
|
|
|
@ -85,8 +85,6 @@ namespace OpenSim
|
|||
|
||||
protected ConfigurationLoader m_configLoader;
|
||||
|
||||
protected GridInfoService m_gridInfoService;
|
||||
|
||||
public ConsoleCommand CreateAccount = null;
|
||||
|
||||
protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
<RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.HypergridServiceInConnectorModule" /> \
|
||||
<RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \
|
||||
<RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \
|
||||
<RegionModule id="GridInfoServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.GridInfoServiceInConnectorModule" /> \
|
||||
|
||||
</Extension>
|
||||
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* 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.Reflection;
|
||||
using System.Collections.Generic;
|
||||
using log4net;
|
||||
using Nini.Config;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Server.Base;
|
||||
using OpenSim.Server.Handlers.Base;
|
||||
using OpenSim.Server.Handlers.Grid;
|
||||
using OpenSim.Services.Interfaces;
|
||||
|
||||
namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid
|
||||
{
|
||||
public class GridInfoServiceInConnectorModule : ISharedRegionModule
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private static bool m_Enabled = false;
|
||||
|
||||
private IConfigSource m_Config;
|
||||
bool m_Registered = false;
|
||||
|
||||
#region IRegionModule interface
|
||||
|
||||
public void Initialise(IConfigSource config)
|
||||
{
|
||||
//// This module is only on for standalones in hypergrid mode
|
||||
//enabled = (!config.Configs["Startup"].GetBoolean("gridmode", true)) &&
|
||||
// config.Configs["Startup"].GetBoolean("hypergrid", true);
|
||||
//m_log.DebugFormat("[RegionInventoryService]: enabled? {0}", enabled);
|
||||
m_Config = config;
|
||||
IConfig moduleConfig = config.Configs["Modules"];
|
||||
if (moduleConfig != null)
|
||||
{
|
||||
m_Enabled = moduleConfig.GetBoolean("GridInfoServiceInConnector", false);
|
||||
if (m_Enabled)
|
||||
{
|
||||
m_log.Info("[GRIDINFO IN CONNECTOR]: GridInfo Service In Connector enabled");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
{
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
}
|
||||
|
||||
public Type ReplaceableInterface
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return "GridInfoService"; }
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
if (!m_Registered)
|
||||
{
|
||||
m_Registered = true;
|
||||
|
||||
m_log.Info("[GridInfo]: Starting...");
|
||||
|
||||
new GridInfoServerInConnector(m_Config, MainServer.Instance, "GridInfoService");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
|
@ -34,11 +34,12 @@ using System.Text;
|
|||
using log4net;
|
||||
using Nini.Config;
|
||||
using Nwc.XmlRpc;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
|
||||
namespace OpenSim.Framework.Communications.Services
|
||||
namespace OpenSim.Server.Handlers.Grid
|
||||
{
|
||||
public class GridInfoService
|
||||
public class GridInfoHandlers
|
||||
{
|
||||
private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
|
@ -55,45 +56,22 @@ namespace OpenSim.Framework.Communications.Services
|
|||
/// anything else requires a general redesign of the config
|
||||
/// system.
|
||||
/// </remarks>
|
||||
public GridInfoService(IConfigSource configSource)
|
||||
public GridInfoHandlers(IConfigSource configSource)
|
||||
{
|
||||
loadGridInfo(configSource);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Default constructor, uses OpenSim.ini.
|
||||
/// </summary>
|
||||
public GridInfoService()
|
||||
{
|
||||
try
|
||||
{
|
||||
IConfigSource configSource = new IniConfigSource(Path.Combine(Util.configDir(), "OpenSim.ini"));
|
||||
loadGridInfo(configSource);
|
||||
}
|
||||
catch (FileNotFoundException)
|
||||
{
|
||||
_log.Warn(
|
||||
"[GRID INFO SERVICE]: No OpenSim.ini file found --- GridInfoServices WILL NOT BE AVAILABLE to your users");
|
||||
}
|
||||
}
|
||||
|
||||
private void loadGridInfo(IConfigSource configSource)
|
||||
{
|
||||
_info["platform"] = "OpenSim";
|
||||
try
|
||||
{
|
||||
IConfig startupCfg = configSource.Configs["Startup"];
|
||||
IConfig gridCfg = configSource.Configs["GridInfo"];
|
||||
IConfig gridCfg = configSource.Configs["GridInfoService"];
|
||||
IConfig netCfg = configSource.Configs["Network"];
|
||||
|
||||
bool grid = startupCfg.GetBoolean("gridmode", false);
|
||||
|
||||
if (grid)
|
||||
_info["mode"] = "grid";
|
||||
else
|
||||
_info["mode"] = "standalone";
|
||||
|
||||
|
||||
if (null != gridCfg)
|
||||
{
|
||||
foreach (string k in gridCfg.GetKeys())
|
|
@ -27,53 +27,29 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using log4net;
|
||||
using log4net.Config;
|
||||
using OpenMetaverse;
|
||||
using Nini.Config;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Communications.Services;
|
||||
using OpenSim.Framework.Communications.Cache;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Servers.HttpServer;
|
||||
using OpenSim.Grid.Communications.OGS1;
|
||||
using OpenSim.Grid.Framework;
|
||||
using OpenSim.Server.Handlers.Base;
|
||||
|
||||
namespace OpenSim.Grid.UserServer.Modules
|
||||
namespace OpenSim.Server.Handlers.Grid
|
||||
{
|
||||
public class GridInfoServiceModule
|
||||
public class GridInfoServerInConnector : ServiceConnector
|
||||
{
|
||||
protected IGridServiceCore m_core;
|
||||
protected GridInfoService m_gridInfoService;
|
||||
protected BaseHttpServer m_httpServer;
|
||||
private string m_ConfigName = "GridInfoService";
|
||||
|
||||
public GridInfoServiceModule()
|
||||
public GridInfoServerInConnector(IConfigSource config, IHttpServer server, string configName) :
|
||||
base(config, server, configName)
|
||||
{
|
||||
GridInfoHandlers handlers = new GridInfoHandlers(config);
|
||||
|
||||
server.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info",
|
||||
handlers.RestGetGridInfoMethod));
|
||||
server.AddXmlRPCHandler("get_grid_info", handlers.XmlRpcGridInfoMethod);
|
||||
}
|
||||
|
||||
public void Initialise(IGridServiceCore core)
|
||||
{
|
||||
m_core = core;
|
||||
m_gridInfoService = new GridInfoService();
|
||||
}
|
||||
|
||||
public void PostInitialise()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void RegisterHandlers(BaseHttpServer httpServer)
|
||||
{
|
||||
m_httpServer = httpServer;
|
||||
m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info",
|
||||
m_gridInfoService.RestGetGridInfoMethod));
|
||||
m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@
|
|||
; *
|
||||
; *
|
||||
[Startup]
|
||||
ServiceConnectors = "OpenSim.Server.Handlers.dll:AssetServiceConnector,OpenSim.Server.Handlers.dll:InventoryServiceInConnector,OpenSim.Server.Handlers.dll:FreeswitchServerConnector,OpenSim.Server.Handlers.dll:GridServiceConnector,OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,OpenSim.Server.Handlers.dll:OpenIdServerConnector,OpenSim.Server.Handlers.dll:AvatarServiceConnector,OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,OpenSim.Server.Handlers.dll:PresenceServiceConnector,,OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
|
||||
ServiceConnectors = "OpenSim.Server.Handlers.dll:AssetServiceConnector,OpenSim.Server.Handlers.dll:InventoryServiceInConnector,OpenSim.Server.Handlers.dll:FreeswitchServerConnector,OpenSim.Server.Handlers.dll:GridServiceConnector,,OpenSim.Server.Handlers.dll:GridInfoServerInConnector,OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,OpenSim.Server.Handlers.dll:OpenIdServerConnector,OpenSim.Server.Handlers.dll:AvatarServiceConnector,OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,OpenSim.Server.Handlers.dll:PresenceServiceConnector,,OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
|
||||
|
||||
; * This is common for all services, it's the network setup for the entire
|
||||
; * server instance
|
||||
|
|
|
@ -1033,7 +1033,7 @@
|
|||
; DisableUndergroundMovement = true
|
||||
|
||||
|
||||
[GridInfo]
|
||||
[GridInfoService]
|
||||
; These settings are used to return information on a get_grid_info call.
|
||||
; Client launcher scripts and third-party clients make use of this to
|
||||
; autoconfigure the client and to provide a nice user experience. If you
|
||||
|
|
Loading…
Reference in New Issue