aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs6
-rw-r--r--OpenSim/Grid/UserServer/Main.cs7
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs2
-rw-r--r--OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml1
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs123
-rw-r--r--OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs (renamed from OpenSim/Framework/Communications/Services/GridInfoService.cs)32
-rw-r--r--OpenSim/Server/Handlers/Grid/GridInfoServerInConnector.cs (renamed from OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs)46
-rw-r--r--bin/OpenSim.Server.ini.example2
-rw-r--r--bin/OpenSim.ini.example2
9 files changed, 142 insertions, 79 deletions
diff --git a/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs b/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
index 02ee025..c5a52fa 100644
--- a/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
+++ b/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
@@ -68,7 +68,6 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
68 protected BaseHttpServer m_httpServer; 68 protected BaseHttpServer m_httpServer;
69 69
70 protected CommunicationsManager m_commsManager; 70 protected CommunicationsManager m_commsManager;
71 protected GridInfoService m_gridInfoService;
72 71
73 protected IRegionCreator m_regionCreator; 72 protected IRegionCreator m_regionCreator;
74 73
@@ -201,11 +200,6 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
201 200
202 private void CreateGridInfoService() 201 private void CreateGridInfoService()
203 { 202 {
204 // provide grid info
205 m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source);
206 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
207 m_httpServer.AddStreamHandler(
208 new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
209 } 203 }
210 } 204 }
211} 205}
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 5bf728a..d598728 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -66,8 +66,6 @@ namespace OpenSim.Grid.UserServer
66 public UserLoginService m_loginService; 66 public UserLoginService m_loginService;
67 public MessageServersConnector m_messagesService; 67 public MessageServersConnector m_messagesService;
68 68
69 protected GridInfoServiceModule m_gridInfoService;
70
71 protected UserServerCommandModule m_consoleCommandModule; 69 protected UserServerCommandModule m_consoleCommandModule;
72 protected UserServerEventDispatchModule m_eventDispatcher; 70 protected UserServerEventDispatchModule m_eventDispatcher;
73 71
@@ -213,9 +211,6 @@ namespace OpenSim.Grid.UserServer
213 211
214 m_messagesService = new MessageServersConnector(); 212 m_messagesService = new MessageServersConnector();
215 m_messagesService.Initialise(this); 213 m_messagesService.Initialise(this);
216
217 m_gridInfoService = new GridInfoServiceModule();
218 m_gridInfoService.Initialise(this);
219 } 214 }
220 215
221 protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService) 216 protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService)
@@ -252,7 +247,6 @@ namespace OpenSim.Grid.UserServer
252 m_userDataBaseService.PostInitialise(); 247 m_userDataBaseService.PostInitialise();
253 m_messagesService.PostInitialise(); 248 m_messagesService.PostInitialise();
254 m_eventDispatcher.PostInitialise(); //it will register event handlers in here 249 m_eventDispatcher.PostInitialise(); //it will register event handlers in here
255 m_gridInfoService.PostInitialise();
256 m_userManager.PostInitialise(); 250 m_userManager.PostInitialise();
257 m_avatarAppearanceModule.PostInitialise(); 251 m_avatarAppearanceModule.PostInitialise();
258 m_friendsModule.PostInitialise(); 252 m_friendsModule.PostInitialise();
@@ -266,7 +260,6 @@ namespace OpenSim.Grid.UserServer
266 m_friendsModule.RegisterHandlers(m_httpServer); 260 m_friendsModule.RegisterHandlers(m_httpServer);
267 m_avatarAppearanceModule.RegisterHandlers(m_httpServer); 261 m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
268 m_messagesService.RegisterHandlers(m_httpServer); 262 m_messagesService.RegisterHandlers(m_httpServer);
269 m_gridInfoService.RegisterHandlers(m_httpServer);
270 } 263 }
271 264
272 public override void ShutdownSpecific() 265 public override void ShutdownSpecific()
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 2db17b1..a834786 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -85,8 +85,6 @@ namespace OpenSim
85 85
86 protected ConfigurationLoader m_configLoader; 86 protected ConfigurationLoader m_configLoader;
87 87
88 protected GridInfoService m_gridInfoService;
89
90 public ConsoleCommand CreateAccount = null; 88 public ConsoleCommand CreateAccount = null;
91 89
92 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); 90 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
diff --git a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
index a43b728..1cc8ca9 100644
--- a/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
+++ b/OpenSim/Region/CoreModules/Resources/CoreModulePlugin.addin.xml
@@ -63,6 +63,7 @@
63 <RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.HypergridServiceInConnectorModule" /> \ 63 <RegionModule id="HypergridServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.HypergridServiceInConnectorModule" /> \
64 <RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \ 64 <RegionModule id="LLLoginServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Login.LLLoginServiceInConnectorModule" /> \
65 <RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \ 65 <RegionModule id="SimulationServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation.SimulationServiceInConnectorModule" /> \
66 <RegionModule id="GridInfoServiceInConnectorModule" type="OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid.GridInfoServiceInConnectorModule" /> \
66 67
67 </Extension> 68 </Extension>
68 69
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs
new file mode 100644
index 0000000..7c9b752
--- /dev/null
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/GridInfoServiceInConnectorModule.cs
@@ -0,0 +1,123 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Reflection;
30using System.Collections.Generic;
31using log4net;
32using Nini.Config;
33using OpenSim.Framework;
34using OpenSim.Framework.Servers.HttpServer;
35using OpenSim.Region.Framework.Scenes;
36using OpenSim.Region.Framework.Interfaces;
37using OpenSim.Server.Base;
38using OpenSim.Server.Handlers.Base;
39using OpenSim.Server.Handlers.Grid;
40using OpenSim.Services.Interfaces;
41
42namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid
43{
44 public class GridInfoServiceInConnectorModule : ISharedRegionModule
45 {
46 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 private static bool m_Enabled = false;
48
49 private IConfigSource m_Config;
50 bool m_Registered = false;
51
52 #region IRegionModule interface
53
54 public void Initialise(IConfigSource config)
55 {
56 //// This module is only on for standalones in hypergrid mode
57 //enabled = (!config.Configs["Startup"].GetBoolean("gridmode", true)) &&
58 // config.Configs["Startup"].GetBoolean("hypergrid", true);
59 //m_log.DebugFormat("[RegionInventoryService]: enabled? {0}", enabled);
60 m_Config = config;
61 IConfig moduleConfig = config.Configs["Modules"];
62 if (moduleConfig != null)
63 {
64 m_Enabled = moduleConfig.GetBoolean("GridInfoServiceInConnector", false);
65 if (m_Enabled)
66 {
67 m_log.Info("[GRIDINFO IN CONNECTOR]: GridInfo Service In Connector enabled");
68 }
69
70 }
71
72 }
73
74 public void PostInitialise()
75 {
76 }
77
78 public void Close()
79 {
80 }
81
82 public Type ReplaceableInterface
83 {
84 get { return null; }
85 }
86
87 public string Name
88 {
89 get { return "GridInfoService"; }
90 }
91
92 public void AddRegion(Scene scene)
93 {
94 if (!m_Enabled)
95 return;
96 }
97
98 public void RemoveRegion(Scene scene)
99 {
100 if (!m_Enabled)
101 return;
102 }
103
104 public void RegionLoaded(Scene scene)
105 {
106 if (!m_Enabled)
107 return;
108
109 if (!m_Registered)
110 {
111 m_Registered = true;
112
113 m_log.Info("[GridInfo]: Starting...");
114
115 new GridInfoServerInConnector(m_Config, MainServer.Instance, "GridInfoService");
116 }
117
118 }
119
120 #endregion
121
122 }
123}
diff --git a/OpenSim/Framework/Communications/Services/GridInfoService.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs
index cd2a152..d1233dc 100644
--- a/OpenSim/Framework/Communications/Services/GridInfoService.cs
+++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs
@@ -34,11 +34,12 @@ using System.Text;
34using log4net; 34using log4net;
35using Nini.Config; 35using Nini.Config;
36using Nwc.XmlRpc; 36using Nwc.XmlRpc;
37using OpenSim.Framework;
37using OpenSim.Framework.Servers.HttpServer; 38using OpenSim.Framework.Servers.HttpServer;
38 39
39namespace OpenSim.Framework.Communications.Services 40namespace OpenSim.Server.Handlers.Grid
40{ 41{
41 public class GridInfoService 42 public class GridInfoHandlers
42 { 43 {
43 private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 44 private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
44 45
@@ -55,45 +56,22 @@ namespace OpenSim.Framework.Communications.Services
55 /// anything else requires a general redesign of the config 56 /// anything else requires a general redesign of the config
56 /// system. 57 /// system.
57 /// </remarks> 58 /// </remarks>
58 public GridInfoService(IConfigSource configSource) 59 public GridInfoHandlers(IConfigSource configSource)
59 { 60 {
60 loadGridInfo(configSource); 61 loadGridInfo(configSource);
61 } 62 }
62 63
63 /// <summary>
64 /// Default constructor, uses OpenSim.ini.
65 /// </summary>
66 public GridInfoService()
67 {
68 try
69 {
70 IConfigSource configSource = new IniConfigSource(Path.Combine(Util.configDir(), "OpenSim.ini"));
71 loadGridInfo(configSource);
72 }
73 catch (FileNotFoundException)
74 {
75 _log.Warn(
76 "[GRID INFO SERVICE]: No OpenSim.ini file found --- GridInfoServices WILL NOT BE AVAILABLE to your users");
77 }
78 }
79
80 private void loadGridInfo(IConfigSource configSource) 64 private void loadGridInfo(IConfigSource configSource)
81 { 65 {
82 _info["platform"] = "OpenSim"; 66 _info["platform"] = "OpenSim";
83 try 67 try
84 { 68 {
85 IConfig startupCfg = configSource.Configs["Startup"]; 69 IConfig startupCfg = configSource.Configs["Startup"];
86 IConfig gridCfg = configSource.Configs["GridInfo"]; 70 IConfig gridCfg = configSource.Configs["GridInfoService"];
87 IConfig netCfg = configSource.Configs["Network"]; 71 IConfig netCfg = configSource.Configs["Network"];
88 72
89 bool grid = startupCfg.GetBoolean("gridmode", false); 73 bool grid = startupCfg.GetBoolean("gridmode", false);
90 74
91 if (grid)
92 _info["mode"] = "grid";
93 else
94 _info["mode"] = "standalone";
95
96
97 if (null != gridCfg) 75 if (null != gridCfg)
98 { 76 {
99 foreach (string k in gridCfg.GetKeys()) 77 foreach (string k in gridCfg.GetKeys())
diff --git a/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs b/OpenSim/Server/Handlers/Grid/GridInfoServerInConnector.cs
index 0c84348..c9e80d9 100644
--- a/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs
+++ b/OpenSim/Server/Handlers/Grid/GridInfoServerInConnector.cs
@@ -27,53 +27,29 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO;
31using System.Reflection; 30using System.Reflection;
32using log4net; 31using log4net;
33using log4net.Config;
34using OpenMetaverse; 32using OpenMetaverse;
33using Nini.Config;
35using OpenSim.Framework; 34using OpenSim.Framework;
36using OpenSim.Framework.Communications;
37using OpenSim.Framework.Communications.Services;
38using OpenSim.Framework.Communications.Cache;
39using OpenSim.Framework.Servers;
40using OpenSim.Framework.Servers.HttpServer; 35using OpenSim.Framework.Servers.HttpServer;
41using OpenSim.Grid.Communications.OGS1; 36using OpenSim.Server.Handlers.Base;
42using OpenSim.Grid.Framework;
43 37
44namespace OpenSim.Grid.UserServer.Modules 38namespace OpenSim.Server.Handlers.Grid
45{ 39{
46 public class GridInfoServiceModule 40 public class GridInfoServerInConnector : ServiceConnector
47 { 41 {
48 protected IGridServiceCore m_core; 42 private string m_ConfigName = "GridInfoService";
49 protected GridInfoService m_gridInfoService;
50 protected BaseHttpServer m_httpServer;
51 43
52 public GridInfoServiceModule() 44 public GridInfoServerInConnector(IConfigSource config, IHttpServer server, string configName) :
53 { 45 base(config, server, configName)
54 }
55
56 public void Initialise(IGridServiceCore core)
57 {
58 m_core = core;
59 m_gridInfoService = new GridInfoService();
60 }
61
62 public void PostInitialise()
63 { 46 {
47 GridInfoHandlers handlers = new GridInfoHandlers(config);
64 48
49 server.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info",
50 handlers.RestGetGridInfoMethod));
51 server.AddXmlRPCHandler("get_grid_info", handlers.XmlRpcGridInfoMethod);
65 } 52 }
66 53
67 public void RegisterHandlers(BaseHttpServer httpServer)
68 {
69 m_httpServer = httpServer;
70 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info",
71 m_gridInfoService.RestGetGridInfoMethod));
72 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
73 }
74
75 public void Close()
76 {
77 }
78 } 54 }
79} 55}
diff --git a/bin/OpenSim.Server.ini.example b/bin/OpenSim.Server.ini.example
index 1b5aef2..2ccc580 100644
--- a/bin/OpenSim.Server.ini.example
+++ b/bin/OpenSim.Server.ini.example
@@ -10,7 +10,7 @@
10; * 10; *
11; * 11; *
12[Startup] 12[Startup]
13ServiceConnectors = "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" 13ServiceConnectors = "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"
14 14
15; * This is common for all services, it's the network setup for the entire 15; * This is common for all services, it's the network setup for the entire
16; * server instance 16; * server instance
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 1cf96b0..971dfc4 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -1033,7 +1033,7 @@
1033 ; DisableUndergroundMovement = true 1033 ; DisableUndergroundMovement = true
1034 1034
1035 1035
1036[GridInfo] 1036[GridInfoService]
1037 ; These settings are used to return information on a get_grid_info call. 1037 ; These settings are used to return information on a get_grid_info call.
1038 ; Client launcher scripts and third-party clients make use of this to 1038 ; Client launcher scripts and third-party clients make use of this to
1039 ; autoconfigure the client and to provide a nice user experience. If you 1039 ; autoconfigure the client and to provide a nice user experience. If you