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 BaseHttpServer m_httpServer;
|
||||||
|
|
||||||
protected CommunicationsManager m_commsManager;
|
protected CommunicationsManager m_commsManager;
|
||||||
protected GridInfoService m_gridInfoService;
|
|
||||||
|
|
||||||
protected IRegionCreator m_regionCreator;
|
protected IRegionCreator m_regionCreator;
|
||||||
|
|
||||||
|
@ -201,11 +200,6 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
||||||
|
|
||||||
private void CreateGridInfoService()
|
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 UserLoginService m_loginService;
|
||||||
public MessageServersConnector m_messagesService;
|
public MessageServersConnector m_messagesService;
|
||||||
|
|
||||||
protected GridInfoServiceModule m_gridInfoService;
|
|
||||||
|
|
||||||
protected UserServerCommandModule m_consoleCommandModule;
|
protected UserServerCommandModule m_consoleCommandModule;
|
||||||
protected UserServerEventDispatchModule m_eventDispatcher;
|
protected UserServerEventDispatchModule m_eventDispatcher;
|
||||||
|
|
||||||
|
@ -213,9 +211,6 @@ namespace OpenSim.Grid.UserServer
|
||||||
|
|
||||||
m_messagesService = new MessageServersConnector();
|
m_messagesService = new MessageServersConnector();
|
||||||
m_messagesService.Initialise(this);
|
m_messagesService.Initialise(this);
|
||||||
|
|
||||||
m_gridInfoService = new GridInfoServiceModule();
|
|
||||||
m_gridInfoService.Initialise(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService)
|
protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService)
|
||||||
|
@ -252,7 +247,6 @@ namespace OpenSim.Grid.UserServer
|
||||||
m_userDataBaseService.PostInitialise();
|
m_userDataBaseService.PostInitialise();
|
||||||
m_messagesService.PostInitialise();
|
m_messagesService.PostInitialise();
|
||||||
m_eventDispatcher.PostInitialise(); //it will register event handlers in here
|
m_eventDispatcher.PostInitialise(); //it will register event handlers in here
|
||||||
m_gridInfoService.PostInitialise();
|
|
||||||
m_userManager.PostInitialise();
|
m_userManager.PostInitialise();
|
||||||
m_avatarAppearanceModule.PostInitialise();
|
m_avatarAppearanceModule.PostInitialise();
|
||||||
m_friendsModule.PostInitialise();
|
m_friendsModule.PostInitialise();
|
||||||
|
@ -266,7 +260,6 @@ namespace OpenSim.Grid.UserServer
|
||||||
m_friendsModule.RegisterHandlers(m_httpServer);
|
m_friendsModule.RegisterHandlers(m_httpServer);
|
||||||
m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
|
m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
|
||||||
m_messagesService.RegisterHandlers(m_httpServer);
|
m_messagesService.RegisterHandlers(m_httpServer);
|
||||||
m_gridInfoService.RegisterHandlers(m_httpServer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ShutdownSpecific()
|
public override void ShutdownSpecific()
|
||||||
|
|
|
@ -85,8 +85,6 @@ namespace OpenSim
|
||||||
|
|
||||||
protected ConfigurationLoader m_configLoader;
|
protected ConfigurationLoader m_configLoader;
|
||||||
|
|
||||||
protected GridInfoService m_gridInfoService;
|
|
||||||
|
|
||||||
public ConsoleCommand CreateAccount = null;
|
public ConsoleCommand CreateAccount = null;
|
||||||
|
|
||||||
protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
|
protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
<RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.HypergridServiceInConnectorModule" /> \
|
<RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.HypergridServiceInConnectorModule" /> \
|
||||||
<RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \
|
<RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \
|
||||||
<RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \
|
<RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \
|
||||||
|
<RegionModule id="GridInfoServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.GridInfoServiceInConnectorModule" /> \
|
||||||
|
|
||||||
</Extension>
|
</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 log4net;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
|
using OpenSim.Framework;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
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);
|
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
|
/// anything else requires a general redesign of the config
|
||||||
/// system.
|
/// system.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public GridInfoService(IConfigSource configSource)
|
public GridInfoHandlers(IConfigSource configSource)
|
||||||
{
|
{
|
||||||
loadGridInfo(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)
|
private void loadGridInfo(IConfigSource configSource)
|
||||||
{
|
{
|
||||||
_info["platform"] = "OpenSim";
|
_info["platform"] = "OpenSim";
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IConfig startupCfg = configSource.Configs["Startup"];
|
IConfig startupCfg = configSource.Configs["Startup"];
|
||||||
IConfig gridCfg = configSource.Configs["GridInfo"];
|
IConfig gridCfg = configSource.Configs["GridInfoService"];
|
||||||
IConfig netCfg = configSource.Configs["Network"];
|
IConfig netCfg = configSource.Configs["Network"];
|
||||||
|
|
||||||
bool grid = startupCfg.GetBoolean("gridmode", false);
|
bool grid = startupCfg.GetBoolean("gridmode", false);
|
||||||
|
|
||||||
if (grid)
|
|
||||||
_info["mode"] = "grid";
|
|
||||||
else
|
|
||||||
_info["mode"] = "standalone";
|
|
||||||
|
|
||||||
|
|
||||||
if (null != gridCfg)
|
if (null != gridCfg)
|
||||||
{
|
{
|
||||||
foreach (string k in gridCfg.GetKeys())
|
foreach (string k in gridCfg.GetKeys())
|
|
@ -27,53 +27,29 @@
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
using log4net.Config;
|
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using Nini.Config;
|
||||||
using OpenSim.Framework;
|
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.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Grid.Communications.OGS1;
|
using OpenSim.Server.Handlers.Base;
|
||||||
using OpenSim.Grid.Framework;
|
|
||||||
|
|
||||||
namespace OpenSim.Grid.UserServer.Modules
|
namespace OpenSim.Server.Handlers.Grid
|
||||||
{
|
{
|
||||||
public class GridInfoServiceModule
|
public class GridInfoServerInConnector : ServiceConnector
|
||||||
{
|
{
|
||||||
protected IGridServiceCore m_core;
|
private string m_ConfigName = "GridInfoService";
|
||||||
protected GridInfoService m_gridInfoService;
|
|
||||||
protected BaseHttpServer m_httpServer;
|
|
||||||
|
|
||||||
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]
|
[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
|
; * This is common for all services, it's the network setup for the entire
|
||||||
; * server instance
|
; * server instance
|
||||||
|
|
|
@ -1033,7 +1033,7 @@
|
||||||
; DisableUndergroundMovement = true
|
; DisableUndergroundMovement = true
|
||||||
|
|
||||||
|
|
||||||
[GridInfo]
|
[GridInfoService]
|
||||||
; These settings are used to return information on a get_grid_info call.
|
; 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
|
; Client launcher scripts and third-party clients make use of this to
|
||||||
; autoconfigure the client and to provide a nice user experience. If you
|
; autoconfigure the client and to provide a nice user experience. If you
|
||||||
|
|
Loading…
Reference in New Issue