aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs512
-rw-r--r--OpenSim/ApplicationPlugins/CreateCommsManager/Resources/CreateCommsManagerPlugin.addin.xml22
-rw-r--r--OpenSim/Framework/IRegionCreator.cs24
-rw-r--r--OpenSim/Framework/IRegistryCore.cs32
-rw-r--r--OpenSim/Framework/RegistryCore.cs108
-rw-r--r--OpenSim/Grid/Framework/IGridServiceCore.cs80
-rw-r--r--OpenSim/Grid/Framework/IGridServiceModule.cs26
-rw-r--r--OpenSim/Grid/Framework/IInterServiceUserService.cs70
-rw-r--r--OpenSim/Grid/Framework/IMessageRegionLookup.cs76
-rw-r--r--OpenSim/Grid/Framework/IMessagingServerDiscovery.cs80
-rw-r--r--OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs372
-rw-r--r--OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs154
-rw-r--r--OpenSim/Grid/UserServer/UserServerEventDispatchModule.cs282
13 files changed, 919 insertions, 919 deletions
diff --git a/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs b/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
index 83c2426..a5ad028 100644
--- a/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
+++ b/OpenSim/ApplicationPlugins/CreateCommsManager/CreateCommsManagerPlugin.cs
@@ -1,256 +1,256 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the 12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Reflection; 30using System.Reflection;
31using System.Threading; 31using System.Threading;
32using log4net; 32using log4net;
33using OpenSim.Framework; 33using OpenSim.Framework;
34using OpenSim.Framework.RegionLoader.Filesystem; 34using OpenSim.Framework.RegionLoader.Filesystem;
35using OpenSim.Framework.RegionLoader.Web; 35using OpenSim.Framework.RegionLoader.Web;
36using OpenSim.Region.CoreModules.Agent.AssetTransaction; 36using OpenSim.Region.CoreModules.Agent.AssetTransaction;
37using OpenSim.Region.CoreModules.Avatar.InstantMessage; 37using OpenSim.Region.CoreModules.Avatar.InstantMessage;
38using OpenSim.Region.CoreModules.Scripting.DynamicTexture; 38using OpenSim.Region.CoreModules.Scripting.DynamicTexture;
39using OpenSim.Region.CoreModules.Scripting.LoadImageURL; 39using OpenSim.Region.CoreModules.Scripting.LoadImageURL;
40using OpenSim.Region.CoreModules.Scripting.XMLRPC; 40using OpenSim.Region.CoreModules.Scripting.XMLRPC;
41using OpenSim.Framework.Communications; 41using OpenSim.Framework.Communications;
42using OpenSim.Framework.Communications.Cache; 42using OpenSim.Framework.Communications.Cache;
43using OpenSim.Region.Communications.Hypergrid; 43using OpenSim.Region.Communications.Hypergrid;
44using OpenSim.Region.Communications.Local; 44using OpenSim.Region.Communications.Local;
45using OpenSim.Region.Communications.OGS1; 45using OpenSim.Region.Communications.OGS1;
46using OpenSim.Framework.Servers; 46using OpenSim.Framework.Servers;
47using OpenSim.ApplicationPlugins.LoadRegions; 47using OpenSim.ApplicationPlugins.LoadRegions;
48 48
49namespace OpenSim.ApplicationPlugins.CreateCommsManager 49namespace OpenSim.ApplicationPlugins.CreateCommsManager
50{ 50{
51 public class CreateCommsManagerPlugin : IApplicationPlugin 51 public class CreateCommsManagerPlugin : IApplicationPlugin
52 { 52 {
53 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 53 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
54 54
55 #region IApplicationPlugin Members 55 #region IApplicationPlugin Members
56 56
57 // TODO: required by IPlugin, but likely not at all right 57 // TODO: required by IPlugin, but likely not at all right
58 string m_name = "CreateCommsManagerPlugin"; 58 string m_name = "CreateCommsManagerPlugin";
59 string m_version = "0.0"; 59 string m_version = "0.0";
60 60
61 public string Version { get { return m_version; } } 61 public string Version { get { return m_version; } }
62 public string Name { get { return m_name; } } 62 public string Name { get { return m_name; } }
63 63
64 protected OpenSimBase m_openSim; 64 protected OpenSimBase m_openSim;
65 65
66 protected BaseHttpServer m_httpServer; 66 protected BaseHttpServer m_httpServer;
67 67
68 protected CommunicationsManager m_commsManager; 68 protected CommunicationsManager m_commsManager;
69 protected GridInfoService m_gridInfoService; 69 protected GridInfoService m_gridInfoService;
70 protected IHyperlink HGServices = null; 70 protected IHyperlink HGServices = null;
71 71
72 protected LoadRegionsPlugin m_loadRegionsPlugin; 72 protected LoadRegionsPlugin m_loadRegionsPlugin;
73 73
74 public void Initialise() 74 public void Initialise()
75 { 75 {
76 m_log.Info("[LOADREGIONS]: " + Name + " cannot be default-initialized!"); 76 m_log.Info("[LOADREGIONS]: " + Name + " cannot be default-initialized!");
77 throw new PluginNotInitialisedException(Name); 77 throw new PluginNotInitialisedException(Name);
78 } 78 }
79 79
80 public void Initialise(OpenSimBase openSim) 80 public void Initialise(OpenSimBase openSim)
81 { 81 {
82 m_openSim = openSim; 82 m_openSim = openSim;
83 m_httpServer = openSim.HttpServer; 83 m_httpServer = openSim.HttpServer;
84 84
85 InitialiseCommsManager(openSim); 85 InitialiseCommsManager(openSim);
86 if (m_commsManager != null) 86 if (m_commsManager != null)
87 { 87 {
88 m_openSim.ApplicationRegistry.RegisterInterface<IUserService>(m_commsManager.UserService); 88 m_openSim.ApplicationRegistry.RegisterInterface<IUserService>(m_commsManager.UserService);
89 } 89 }
90 } 90 }
91 91
92 public void PostInitialise() 92 public void PostInitialise()
93 { 93 {
94 if (m_openSim.ApplicationRegistry.TryGet<LoadRegionsPlugin>(out m_loadRegionsPlugin)) 94 if (m_openSim.ApplicationRegistry.TryGet<LoadRegionsPlugin>(out m_loadRegionsPlugin))
95 { 95 {
96 m_loadRegionsPlugin.OnNewRegionCreated += RegionCreated; 96 m_loadRegionsPlugin.OnNewRegionCreated += RegionCreated;
97 } 97 }
98 } 98 }
99 99
100 public void Dispose() 100 public void Dispose()
101 { 101 {
102 } 102 }
103 103
104 #endregion 104 #endregion
105 105
106 private void RegionCreated(IScene scene) 106 private void RegionCreated(IScene scene)
107 { 107 {
108 if (m_commsManager != null) 108 if (m_commsManager != null)
109 { 109 {
110 scene.RegisterModuleInterface<IUserService>(m_commsManager.UserService); 110 scene.RegisterModuleInterface<IUserService>(m_commsManager.UserService);
111 } 111 }
112 } 112 }
113 113
114 private void InitialiseCommsManager(OpenSimBase openSim) 114 private void InitialiseCommsManager(OpenSimBase openSim)
115 { 115 {
116 LibraryRootFolder libraryRootFolder = new LibraryRootFolder(m_openSim.ConfigurationSettings.LibrariesXMLFile); 116 LibraryRootFolder libraryRootFolder = new LibraryRootFolder(m_openSim.ConfigurationSettings.LibrariesXMLFile);
117 117
118 bool hgrid = m_openSim.ConfigSource.Source.Configs["Startup"].GetBoolean("hypergrid", false); 118 bool hgrid = m_openSim.ConfigSource.Source.Configs["Startup"].GetBoolean("hypergrid", false);
119 119
120 if (hgrid) 120 if (hgrid)
121 { 121 {
122 HGOpenSimNode hgNode = (HGOpenSimNode)openSim; 122 HGOpenSimNode hgNode = (HGOpenSimNode)openSim;
123 123
124 // Standalone mode is determined by !startupConfig.GetBoolean("gridmode", false) 124 // Standalone mode is determined by !startupConfig.GetBoolean("gridmode", false)
125 if (m_openSim.ConfigurationSettings.Standalone) 125 if (m_openSim.ConfigurationSettings.Standalone)
126 { 126 {
127 InitialiseHGStandaloneServices(libraryRootFolder); 127 InitialiseHGStandaloneServices(libraryRootFolder);
128 } 128 }
129 else 129 else
130 { 130 {
131 // We are in grid mode 131 // We are in grid mode
132 InitialiseHGGridServices(libraryRootFolder); 132 InitialiseHGGridServices(libraryRootFolder);
133 } 133 }
134 hgNode.HGServices = HGServices; 134 hgNode.HGServices = HGServices;
135 } 135 }
136 else 136 else
137 { 137 {
138 // Standalone mode is determined by !startupConfig.GetBoolean("gridmode", false) 138 // Standalone mode is determined by !startupConfig.GetBoolean("gridmode", false)
139 if (m_openSim.ConfigurationSettings.Standalone) 139 if (m_openSim.ConfigurationSettings.Standalone)
140 { 140 {
141 InitialiseStandaloneServices(libraryRootFolder); 141 InitialiseStandaloneServices(libraryRootFolder);
142 } 142 }
143 else 143 else
144 { 144 {
145 // We are in grid mode 145 // We are in grid mode
146 InitialiseGridServices(libraryRootFolder); 146 InitialiseGridServices(libraryRootFolder);
147 } 147 }
148 } 148 }
149 149
150 openSim.CommunicationsManager = m_commsManager; 150 openSim.CommunicationsManager = m_commsManager;
151 } 151 }
152 152
153 /// <summary> 153 /// <summary>
154 /// Initialises the backend services for standalone mode, and registers some http handlers 154 /// Initialises the backend services for standalone mode, and registers some http handlers
155 /// </summary> 155 /// </summary>
156 /// <param name="libraryRootFolder"></param> 156 /// <param name="libraryRootFolder"></param>
157 protected virtual void InitialiseStandaloneServices(LibraryRootFolder libraryRootFolder) 157 protected virtual void InitialiseStandaloneServices(LibraryRootFolder libraryRootFolder)
158 { 158 {
159 LocalInventoryService inventoryService = new LocalInventoryService(); 159 LocalInventoryService inventoryService = new LocalInventoryService();
160 inventoryService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneInventoryPlugin, m_openSim.ConfigurationSettings.StandaloneInventorySource); 160 inventoryService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneInventoryPlugin, m_openSim.ConfigurationSettings.StandaloneInventorySource);
161 161
162 LocalUserServices userService = 162 LocalUserServices userService =
163 new LocalUserServices( 163 new LocalUserServices(
164 m_openSim.NetServersInfo.DefaultHomeLocX, m_openSim.NetServersInfo.DefaultHomeLocY, inventoryService); 164 m_openSim.NetServersInfo.DefaultHomeLocX, m_openSim.NetServersInfo.DefaultHomeLocY, inventoryService);
165 userService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneUserPlugin, m_openSim.ConfigurationSettings.StandaloneUserSource); 165 userService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneUserPlugin, m_openSim.ConfigurationSettings.StandaloneUserSource);
166 166
167 LocalBackEndServices backendService = new LocalBackEndServices(); 167 LocalBackEndServices backendService = new LocalBackEndServices();
168 168
169 LocalLoginService loginService = 169 LocalLoginService loginService =
170 new LocalLoginService( 170 new LocalLoginService(
171 userService, m_openSim.ConfigurationSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_openSim.NetServersInfo, 171 userService, m_openSim.ConfigurationSettings.StandaloneWelcomeMessage, inventoryService, backendService, m_openSim.NetServersInfo,
172 m_openSim.ConfigurationSettings.StandaloneAuthenticate, libraryRootFolder); 172 m_openSim.ConfigurationSettings.StandaloneAuthenticate, libraryRootFolder);
173 173
174 m_commsManager 174 m_commsManager
175 = new CommunicationsLocal( 175 = new CommunicationsLocal(
176 m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, userService, userService, 176 m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, userService, userService,
177 inventoryService, backendService, userService, 177 inventoryService, backendService, userService,
178 libraryRootFolder, m_openSim.ConfigurationSettings.DumpAssetsToFile); 178 libraryRootFolder, m_openSim.ConfigurationSettings.DumpAssetsToFile);
179 179
180 // set up XMLRPC handler for client's initial login request message 180 // set up XMLRPC handler for client's initial login request message
181 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod); 181 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod);
182 182
183 // provides the web form login 183 // provides the web form login
184 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin); 184 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin);
185 185
186 // Provides the LLSD login 186 // Provides the LLSD login
187 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod); 187 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod);
188 188
189 // provide grid info 189 // provide grid info
190 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini"))); 190 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini")));
191 m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source); 191 m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source);
192 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod); 192 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
193 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod)); 193 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
194 } 194 }
195 195
196 protected virtual void InitialiseGridServices(LibraryRootFolder libraryRootFolder) 196 protected virtual void InitialiseGridServices(LibraryRootFolder libraryRootFolder)
197 { 197 {
198 m_commsManager 198 m_commsManager
199 = new CommunicationsOGS1(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, libraryRootFolder); 199 = new CommunicationsOGS1(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, libraryRootFolder);
200 200
201 m_httpServer.AddStreamHandler(new OpenSim.SimStatusHandler()); 201 m_httpServer.AddStreamHandler(new OpenSim.SimStatusHandler());
202 } 202 }
203 203
204 protected virtual void InitialiseHGStandaloneServices(LibraryRootFolder libraryRootFolder) 204 protected virtual void InitialiseHGStandaloneServices(LibraryRootFolder libraryRootFolder)
205 { 205 {
206 // Standalone mode 206 // Standalone mode
207 207
208 HGInventoryService inventoryService = new HGInventoryService(m_openSim.NetServersInfo.InventoryURL, null, false); 208 HGInventoryService inventoryService = new HGInventoryService(m_openSim.NetServersInfo.InventoryURL, null, false);
209 inventoryService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneInventoryPlugin, m_openSim.ConfigurationSettings.StandaloneInventorySource); 209 inventoryService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneInventoryPlugin, m_openSim.ConfigurationSettings.StandaloneInventorySource);
210 210
211 LocalUserServices userService = 211 LocalUserServices userService =
212 new LocalUserServices( 212 new LocalUserServices(
213 m_openSim.NetServersInfo.DefaultHomeLocX, m_openSim.NetServersInfo.DefaultHomeLocY, inventoryService); 213 m_openSim.NetServersInfo.DefaultHomeLocX, m_openSim.NetServersInfo.DefaultHomeLocY, inventoryService);
214 userService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneUserPlugin, m_openSim.ConfigurationSettings.StandaloneUserSource); 214 userService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneUserPlugin, m_openSim.ConfigurationSettings.StandaloneUserSource);
215 215
216 //LocalBackEndServices backendService = new LocalBackEndServices(); 216 //LocalBackEndServices backendService = new LocalBackEndServices();
217 HGGridServicesStandalone gridService = new HGGridServicesStandalone(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, m_openSim.SceneManager); 217 HGGridServicesStandalone gridService = new HGGridServicesStandalone(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, m_openSim.SceneManager);
218 218
219 LocalLoginService loginService = 219 LocalLoginService loginService =
220 new LocalLoginService( 220 new LocalLoginService(
221 userService, m_openSim.ConfigurationSettings.StandaloneWelcomeMessage, inventoryService, gridService.LocalBackend, m_openSim.NetServersInfo, 221 userService, m_openSim.ConfigurationSettings.StandaloneWelcomeMessage, inventoryService, gridService.LocalBackend, m_openSim.NetServersInfo,
222 m_openSim.ConfigurationSettings.StandaloneAuthenticate, libraryRootFolder); 222 m_openSim.ConfigurationSettings.StandaloneAuthenticate, libraryRootFolder);
223 223
224 224
225 m_commsManager = new HGCommunicationsStandalone(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, 225 m_commsManager = new HGCommunicationsStandalone(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache,
226 userService, userService, inventoryService, gridService, userService, libraryRootFolder, m_openSim.ConfigurationSettings.DumpAssetsToFile); 226 userService, userService, inventoryService, gridService, userService, libraryRootFolder, m_openSim.ConfigurationSettings.DumpAssetsToFile);
227 227
228 inventoryService.UserProfileCache = m_commsManager.UserProfileCacheService; 228 inventoryService.UserProfileCache = m_commsManager.UserProfileCacheService;
229 HGServices = gridService; 229 HGServices = gridService;
230 230
231 // set up XMLRPC handler for client's initial login request message 231 // set up XMLRPC handler for client's initial login request message
232 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod); 232 m_httpServer.AddXmlRPCHandler("login_to_simulator", loginService.XmlRpcLoginMethod);
233 233
234 // provides the web form login 234 // provides the web form login
235 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin); 235 m_httpServer.AddHTTPHandler("login", loginService.ProcessHTMLLogin);
236 236
237 // Provides the LLSD login 237 // Provides the LLSD login
238 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod); 238 m_httpServer.SetDefaultLLSDHandler(loginService.LLSDLoginMethod);
239 239
240 // provide grid info 240 // provide grid info
241 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini"))); 241 // m_gridInfoService = new GridInfoService(m_config.Source.Configs["Startup"].GetString("inifile", Path.Combine(Util.configDir(), "OpenSim.ini")));
242 m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source); 242 m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source);
243 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod); 243 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
244 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod)); 244 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
245 } 245 }
246 246
247 protected virtual void InitialiseHGGridServices(LibraryRootFolder libraryRootFolder) 247 protected virtual void InitialiseHGGridServices(LibraryRootFolder libraryRootFolder)
248 { 248 {
249 m_commsManager = new HGCommunicationsGridMode(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, m_openSim.SceneManager, libraryRootFolder); 249 m_commsManager = new HGCommunicationsGridMode(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, m_openSim.SceneManager, libraryRootFolder);
250 250
251 HGServices = ((HGCommunicationsGridMode)m_commsManager).HGServices; 251 HGServices = ((HGCommunicationsGridMode)m_commsManager).HGServices;
252 252
253 m_httpServer.AddStreamHandler(new OpenSim.SimStatusHandler()); 253 m_httpServer.AddStreamHandler(new OpenSim.SimStatusHandler());
254 } 254 }
255 } 255 }
256} 256}
diff --git a/OpenSim/ApplicationPlugins/CreateCommsManager/Resources/CreateCommsManagerPlugin.addin.xml b/OpenSim/ApplicationPlugins/CreateCommsManager/Resources/CreateCommsManagerPlugin.addin.xml
index 2a488ef..ec042f3 100644
--- a/OpenSim/ApplicationPlugins/CreateCommsManager/Resources/CreateCommsManagerPlugin.addin.xml
+++ b/OpenSim/ApplicationPlugins/CreateCommsManager/Resources/CreateCommsManagerPlugin.addin.xml
@@ -1,11 +1,11 @@
1<Addin id="OpenSim.ApplicationPlugins.CreateCommsManager" version="0.1"> 1<Addin id="OpenSim.ApplicationPlugins.CreateCommsManager" version="0.1">
2 <Runtime> 2 <Runtime>
3 <Import assembly="OpenSim.ApplicationPlugins.CreateCommsManager.dll"/> 3 <Import assembly="OpenSim.ApplicationPlugins.CreateCommsManager.dll"/>
4 </Runtime> 4 </Runtime>
5 <Dependencies> 5 <Dependencies>
6 <Addin id="OpenSim" version="0.5" /> 6 <Addin id="OpenSim" version="0.5" />
7 </Dependencies> 7 </Dependencies>
8 <Extension path = "/OpenSim/Startup"> 8 <Extension path = "/OpenSim/Startup">
9 <Plugin id="CreateCommsManager" type="OpenSim.ApplicationPlugins.CreateCommsManager.CreateCommsManagerPlugin" /> 9 <Plugin id="CreateCommsManager" type="OpenSim.ApplicationPlugins.CreateCommsManager.CreateCommsManagerPlugin" />
10 </Extension> 10 </Extension>
11</Addin> 11</Addin>
diff --git a/OpenSim/Framework/IRegionCreator.cs b/OpenSim/Framework/IRegionCreator.cs
index 7920ee4..0da5c0f 100644
--- a/OpenSim/Framework/IRegionCreator.cs
+++ b/OpenSim/Framework/IRegionCreator.cs
@@ -1,12 +1,12 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4 4
5namespace OpenSim.Framework 5namespace OpenSim.Framework
6{ 6{
7 public delegate void NewRegionCreated(IScene scene); 7 public delegate void NewRegionCreated(IScene scene);
8 public interface IRegionCreator 8 public interface IRegionCreator
9 { 9 {
10 event NewRegionCreated OnNewRegionCreated; 10 event NewRegionCreated OnNewRegionCreated;
11 } 11 }
12} 12}
diff --git a/OpenSim/Framework/IRegistryCore.cs b/OpenSim/Framework/IRegistryCore.cs
index 9f251c5..be7e1e6 100644
--- a/OpenSim/Framework/IRegistryCore.cs
+++ b/OpenSim/Framework/IRegistryCore.cs
@@ -1,16 +1,16 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4 4
5namespace OpenSim.Framework 5namespace OpenSim.Framework
6{ 6{
7 public interface IRegistryCore 7 public interface IRegistryCore
8 { 8 {
9 T Get<T>(); 9 T Get<T>();
10 void RegisterInterface<T>(T iface); 10 void RegisterInterface<T>(T iface);
11 bool TryGet<T>(out T iface); 11 bool TryGet<T>(out T iface);
12 12
13 void StackModuleInterface<M>(M mod); 13 void StackModuleInterface<M>(M mod);
14 T[] RequestModuleInterfaces<T>(); 14 T[] RequestModuleInterfaces<T>();
15 } 15 }
16} 16}
diff --git a/OpenSim/Framework/RegistryCore.cs b/OpenSim/Framework/RegistryCore.cs
index ee15845..08d343a 100644
--- a/OpenSim/Framework/RegistryCore.cs
+++ b/OpenSim/Framework/RegistryCore.cs
@@ -1,54 +1,54 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4 4
5namespace OpenSim.Framework 5namespace OpenSim.Framework
6{ 6{
7 public class RegistryCore : IRegistryCore 7 public class RegistryCore : IRegistryCore
8 { 8 {
9 protected Dictionary<Type, object> m_moduleInterfaces = new Dictionary<Type, object>(); 9 protected Dictionary<Type, object> m_moduleInterfaces = new Dictionary<Type, object>();
10 10
11 /// <summary> 11 /// <summary>
12 /// Register an Module interface. 12 /// Register an Module interface.
13 /// </summary> 13 /// </summary>
14 /// <typeparam name="T"></typeparam> 14 /// <typeparam name="T"></typeparam>
15 /// <param name="iface"></param> 15 /// <param name="iface"></param>
16 public void RegisterInterface<T>(T iface) 16 public void RegisterInterface<T>(T iface)
17 { 17 {
18 lock (m_moduleInterfaces) 18 lock (m_moduleInterfaces)
19 { 19 {
20 if (!m_moduleInterfaces.ContainsKey(typeof(T))) 20 if (!m_moduleInterfaces.ContainsKey(typeof(T)))
21 { 21 {
22 m_moduleInterfaces.Add(typeof(T), iface); 22 m_moduleInterfaces.Add(typeof(T), iface);
23 } 23 }
24 } 24 }
25 } 25 }
26 26
27 public bool TryGet<T>(out T iface) 27 public bool TryGet<T>(out T iface)
28 { 28 {
29 if (m_moduleInterfaces.ContainsKey(typeof(T))) 29 if (m_moduleInterfaces.ContainsKey(typeof(T)))
30 { 30 {
31 iface = (T)m_moduleInterfaces[typeof(T)]; 31 iface = (T)m_moduleInterfaces[typeof(T)];
32 return true; 32 return true;
33 } 33 }
34 iface = default(T); 34 iface = default(T);
35 return false; 35 return false;
36 } 36 }
37 37
38 public T Get<T>() 38 public T Get<T>()
39 { 39 {
40 return (T)m_moduleInterfaces[typeof(T)]; 40 return (T)m_moduleInterfaces[typeof(T)];
41 } 41 }
42 42
43 public void StackModuleInterface<M>(M mod) 43 public void StackModuleInterface<M>(M mod)
44 { 44 {
45 45
46 } 46 }
47 47
48 public T[] RequestModuleInterfaces<T>() 48 public T[] RequestModuleInterfaces<T>()
49 { 49 {
50 return new T[] { default(T) }; 50 return new T[] { default(T) };
51 } 51 }
52 52
53 } 53 }
54} 54}
diff --git a/OpenSim/Grid/Framework/IGridServiceCore.cs b/OpenSim/Grid/Framework/IGridServiceCore.cs
index 894ea14..8843e83 100644
--- a/OpenSim/Grid/Framework/IGridServiceCore.cs
+++ b/OpenSim/Grid/Framework/IGridServiceCore.cs
@@ -1,40 +1,40 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the 12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using OpenSim.Framework.Servers; 29using OpenSim.Framework.Servers;
30 30
31namespace OpenSim.Grid.Framework 31namespace OpenSim.Grid.Framework
32{ 32{
33 public interface IGridServiceCore 33 public interface IGridServiceCore
34 { 34 {
35 T Get<T>(); 35 T Get<T>();
36 void RegisterInterface<T>(T iface); 36 void RegisterInterface<T>(T iface);
37 bool TryGet<T>(out T iface); 37 bool TryGet<T>(out T iface);
38 BaseHttpServer GetHttpServer(); 38 BaseHttpServer GetHttpServer();
39 } 39 }
40} 40}
diff --git a/OpenSim/Grid/Framework/IGridServiceModule.cs b/OpenSim/Grid/Framework/IGridServiceModule.cs
index b44bd40..97706d3 100644
--- a/OpenSim/Grid/Framework/IGridServiceModule.cs
+++ b/OpenSim/Grid/Framework/IGridServiceModule.cs
@@ -1,13 +1,13 @@
1using System; 1using System;
2using OpenSim.Framework.Servers; 2using OpenSim.Framework.Servers;
3 3
4namespace OpenSim.Grid.Framework 4namespace OpenSim.Grid.Framework
5{ 5{
6 public interface IGridServiceModule 6 public interface IGridServiceModule
7 { 7 {
8 void Close(); 8 void Close();
9 void Initialise(IGridServiceCore core); 9 void Initialise(IGridServiceCore core);
10 void PostInitialise(); 10 void PostInitialise();
11 void RegisterHandlers(BaseHttpServer httpServer); 11 void RegisterHandlers(BaseHttpServer httpServer);
12 } 12 }
13} 13}
diff --git a/OpenSim/Grid/Framework/IInterServiceUserService.cs b/OpenSim/Grid/Framework/IInterServiceUserService.cs
index fe037bd..ee7365a 100644
--- a/OpenSim/Grid/Framework/IInterServiceUserService.cs
+++ b/OpenSim/Grid/Framework/IInterServiceUserService.cs
@@ -1,35 +1,35 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the 12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29namespace OpenSim.Grid.Framework 29namespace OpenSim.Grid.Framework
30{ 30{
31 public interface IInterServiceUserService 31 public interface IInterServiceUserService
32 { 32 {
33 bool SendToUserServer(System.Collections.Hashtable request, string method); 33 bool SendToUserServer(System.Collections.Hashtable request, string method);
34 } 34 }
35} 35}
diff --git a/OpenSim/Grid/Framework/IMessageRegionLookup.cs b/OpenSim/Grid/Framework/IMessageRegionLookup.cs
index 5e49a40..461fe73 100644
--- a/OpenSim/Grid/Framework/IMessageRegionLookup.cs
+++ b/OpenSim/Grid/Framework/IMessageRegionLookup.cs
@@ -1,38 +1,38 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the 12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using OpenSim.Data; 29using OpenSim.Data;
30 30
31namespace OpenSim.Grid.Framework 31namespace OpenSim.Grid.Framework
32{ 32{
33 public interface IMessageRegionLookup 33 public interface IMessageRegionLookup
34 { 34 {
35 int ClearRegionCache(); 35 int ClearRegionCache();
36 RegionProfileData GetRegionInfo(ulong regionhandle); 36 RegionProfileData GetRegionInfo(ulong regionhandle);
37 } 37 }
38} 38}
diff --git a/OpenSim/Grid/Framework/IMessagingServerDiscovery.cs b/OpenSim/Grid/Framework/IMessagingServerDiscovery.cs
index 7995aba..c996f4f 100644
--- a/OpenSim/Grid/Framework/IMessagingServerDiscovery.cs
+++ b/OpenSim/Grid/Framework/IMessagingServerDiscovery.cs
@@ -1,40 +1,40 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the 12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using OpenSim.Framework.Servers; 30using OpenSim.Framework.Servers;
31 31
32namespace OpenSim.Grid.Framework 32namespace OpenSim.Grid.Framework
33{ 33{
34 public interface IMessagingServerDiscovery 34 public interface IMessagingServerDiscovery
35 { 35 {
36 List<MessageServerInfo> GetMessageServersList(); 36 List<MessageServerInfo> GetMessageServersList();
37 void RegisterMessageServer(MessageServerInfo m); 37 void RegisterMessageServer(MessageServerInfo m);
38 void DeRegisterMessageServer(MessageServerInfo m); 38 void DeRegisterMessageServer(MessageServerInfo m);
39 } 39 }
40} 40}
diff --git a/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs b/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs
index ea7649a..04d938b 100644
--- a/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs
+++ b/OpenSim/Grid/MessagingServer.Modules/InterMessageUserServerModule.cs
@@ -1,186 +1,186 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the 12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections; 29using System.Collections;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Net; 31using System.Net;
32using System.Reflection; 32using System.Reflection;
33using System.Threading; 33using System.Threading;
34using System.Timers; 34using System.Timers;
35using log4net; 35using log4net;
36using Nwc.XmlRpc; 36using Nwc.XmlRpc;
37using OpenMetaverse; 37using OpenMetaverse;
38using OpenSim.Data; 38using OpenSim.Data;
39using OpenSim.Framework; 39using OpenSim.Framework;
40using OpenSim.Grid.Framework; 40using OpenSim.Grid.Framework;
41using Timer = System.Timers.Timer; 41using Timer = System.Timers.Timer;
42 42
43namespace OpenSim.Grid.MessagingServer.Modules 43namespace OpenSim.Grid.MessagingServer.Modules
44{ 44{
45 public class InterMessageUserServerModule : IInterServiceUserService 45 public class InterMessageUserServerModule : IInterServiceUserService
46 { 46 {
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 48
49 private MessageServerConfig m_cfg; 49 private MessageServerConfig m_cfg;
50 50
51 private IGridServiceCore m_messageCore; 51 private IGridServiceCore m_messageCore;
52 52
53 private Timer reconnectTimer = new Timer(300000); // 5 mins 53 private Timer reconnectTimer = new Timer(300000); // 5 mins
54 54
55 public InterMessageUserServerModule(MessageServerConfig config, IGridServiceCore messageCore) 55 public InterMessageUserServerModule(MessageServerConfig config, IGridServiceCore messageCore)
56 { 56 {
57 m_cfg = config; 57 m_cfg = config;
58 m_messageCore = messageCore; 58 m_messageCore = messageCore;
59 59
60 reconnectTimer.Elapsed += registerWithUserServer; 60 reconnectTimer.Elapsed += registerWithUserServer;
61 reconnectTimer.Start(); 61 reconnectTimer.Start();
62 } 62 }
63 63
64 public void Initialise() 64 public void Initialise()
65 { 65 {
66 m_messageCore.RegisterInterface<IInterServiceUserService>(this); 66 m_messageCore.RegisterInterface<IInterServiceUserService>(this);
67 } 67 }
68 68
69 public void PostInitialise() 69 public void PostInitialise()
70 { 70 {
71 71
72 } 72 }
73 73
74 public void RegisterHandlers() 74 public void RegisterHandlers()
75 { 75 {
76 //have these in separate method as some servers restart the http server and reregister all the handlers. 76 //have these in separate method as some servers restart the http server and reregister all the handlers.
77 77
78 } 78 }
79 79
80 public void registerWithUserServer(object sender, ElapsedEventArgs e) 80 public void registerWithUserServer(object sender, ElapsedEventArgs e)
81 { 81 {
82 registerWithUserServer(); 82 registerWithUserServer();
83 } 83 }
84 84
85 public bool registerWithUserServer() 85 public bool registerWithUserServer()
86 { 86 {
87 Hashtable UserParams = new Hashtable(); 87 Hashtable UserParams = new Hashtable();
88 // Login / Authentication 88 // Login / Authentication
89 89
90 if (m_cfg.HttpSSL) 90 if (m_cfg.HttpSSL)
91 { 91 {
92 UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; 92 UserParams["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort;
93 } 93 }
94 else 94 else
95 { 95 {
96 UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; 96 UserParams["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort;
97 } 97 }
98 98
99 UserParams["recvkey"] = m_cfg.UserRecvKey; 99 UserParams["recvkey"] = m_cfg.UserRecvKey;
100 UserParams["sendkey"] = m_cfg.UserRecvKey; 100 UserParams["sendkey"] = m_cfg.UserRecvKey;
101 101
102 // Package into an XMLRPC Request 102 // Package into an XMLRPC Request
103 ArrayList SendParams = new ArrayList(); 103 ArrayList SendParams = new ArrayList();
104 SendParams.Add(UserParams); 104 SendParams.Add(UserParams);
105 105
106 bool success = true; 106 bool success = true;
107 string[] servers = m_cfg.UserServerURL.Split(' '); 107 string[] servers = m_cfg.UserServerURL.Split(' ');
108 108
109 foreach (string srv in servers) 109 foreach (string srv in servers)
110 { 110 {
111 // Send Request 111 // Send Request
112 try 112 try
113 { 113 {
114 XmlRpcRequest UserReq = new XmlRpcRequest("register_messageserver", SendParams); 114 XmlRpcRequest UserReq = new XmlRpcRequest("register_messageserver", SendParams);
115 XmlRpcResponse UserResp = UserReq.Send(srv, 16000); 115 XmlRpcResponse UserResp = UserReq.Send(srv, 16000);
116 116
117 // Process Response 117 // Process Response
118 Hashtable GridRespData = (Hashtable)UserResp.Value; 118 Hashtable GridRespData = (Hashtable)UserResp.Value;
119 // if we got a response, we were successful 119 // if we got a response, we were successful
120 if (!GridRespData.ContainsKey("responsestring")) 120 if (!GridRespData.ContainsKey("responsestring"))
121 success = false; 121 success = false;
122 else 122 else
123 m_log.InfoFormat("[SERVER] Registered with {0}", srv); 123 m_log.InfoFormat("[SERVER] Registered with {0}", srv);
124 } 124 }
125 catch 125 catch
126 { 126 {
127 m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); 127 m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv);
128 success = false; 128 success = false;
129 } 129 }
130 } 130 }
131 return success; 131 return success;
132 } 132 }
133 133
134 public bool deregisterWithUserServer() 134 public bool deregisterWithUserServer()
135 { 135 {
136 Hashtable request = new Hashtable(); 136 Hashtable request = new Hashtable();
137 137
138 return SendToUserServer(request, "deregister_messageserver"); 138 return SendToUserServer(request, "deregister_messageserver");
139 } 139 }
140 140
141 public bool SendToUserServer(Hashtable request, string method) 141 public bool SendToUserServer(Hashtable request, string method)
142 { 142 {
143 // Login / Authentication 143 // Login / Authentication
144 144
145 if (m_cfg.HttpSSL) 145 if (m_cfg.HttpSSL)
146 { 146 {
147 request["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; 147 request["uri"] = "https://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort;
148 } 148 }
149 else 149 else
150 { 150 {
151 request["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort; 151 request["uri"] = "http://" + m_cfg.MessageServerIP + ":" + m_cfg.HttpPort;
152 } 152 }
153 153
154 request["recvkey"] = m_cfg.UserRecvKey; 154 request["recvkey"] = m_cfg.UserRecvKey;
155 request["sendkey"] = m_cfg.UserRecvKey; 155 request["sendkey"] = m_cfg.UserRecvKey;
156 156
157 // Package into an XMLRPC Request 157 // Package into an XMLRPC Request
158 ArrayList SendParams = new ArrayList(); 158 ArrayList SendParams = new ArrayList();
159 SendParams.Add(request); 159 SendParams.Add(request);
160 160
161 bool success = true; 161 bool success = true;
162 string[] servers = m_cfg.UserServerURL.Split(' '); 162 string[] servers = m_cfg.UserServerURL.Split(' ');
163 163
164 // Send Request 164 // Send Request
165 foreach (string srv in servers) 165 foreach (string srv in servers)
166 { 166 {
167 try 167 try
168 { 168 {
169 XmlRpcRequest UserReq = new XmlRpcRequest(method, SendParams); 169 XmlRpcRequest UserReq = new XmlRpcRequest(method, SendParams);
170 XmlRpcResponse UserResp = UserReq.Send(m_cfg.UserServerURL, 16000); 170 XmlRpcResponse UserResp = UserReq.Send(m_cfg.UserServerURL, 16000);
171 // Process Response 171 // Process Response
172 Hashtable UserRespData = (Hashtable)UserResp.Value; 172 Hashtable UserRespData = (Hashtable)UserResp.Value;
173 // if we got a response, we were successful 173 // if we got a response, we were successful
174 if (!UserRespData.ContainsKey("responsestring")) 174 if (!UserRespData.ContainsKey("responsestring"))
175 success = false; 175 success = false;
176 } 176 }
177 catch 177 catch
178 { 178 {
179 m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv); 179 m_log.ErrorFormat("Unable to connect to server {0}. Server not running?", srv);
180 success = false; 180 success = false;
181 } 181 }
182 } 182 }
183 return success; 183 return success;
184 } 184 }
185 } 185 }
186} 186}
diff --git a/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs b/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs
index e79e786..33b55b6 100644
--- a/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs
+++ b/OpenSim/Grid/UserServer.Modules/GridInfoServiceModule.cs
@@ -1,77 +1,77 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the 12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using System.Reflection; 31using System.Reflection;
32using log4net; 32using log4net;
33using log4net.Config; 33using log4net.Config;
34using OpenMetaverse; 34using OpenMetaverse;
35using OpenSim.Framework; 35using OpenSim.Framework;
36using OpenSim.Framework.Communications; 36using OpenSim.Framework.Communications;
37using OpenSim.Framework.Communications.Cache; 37using OpenSim.Framework.Communications.Cache;
38using OpenSim.Framework.Servers; 38using OpenSim.Framework.Servers;
39using OpenSim.Grid.Communications.OGS1; 39using OpenSim.Grid.Communications.OGS1;
40using OpenSim.Grid.Framework; 40using OpenSim.Grid.Framework;
41 41
42namespace OpenSim.Grid.UserServer.Modules 42namespace OpenSim.Grid.UserServer.Modules
43{ 43{
44 public class GridInfoServiceModule 44 public class GridInfoServiceModule
45 { 45 {
46 protected IGridServiceCore m_core; 46 protected IGridServiceCore m_core;
47 protected GridInfoService m_gridInfoService; 47 protected GridInfoService m_gridInfoService;
48 protected BaseHttpServer m_httpServer; 48 protected BaseHttpServer m_httpServer;
49 49
50 public GridInfoServiceModule() 50 public GridInfoServiceModule()
51 { 51 {
52 } 52 }
53 53
54 public void Initialise(IGridServiceCore core) 54 public void Initialise(IGridServiceCore core)
55 { 55 {
56 m_core = core; 56 m_core = core;
57 m_gridInfoService = new GridInfoService(); 57 m_gridInfoService = new GridInfoService();
58 } 58 }
59 59
60 public void PostInitialise() 60 public void PostInitialise()
61 { 61 {
62 62
63 } 63 }
64 64
65 public void RegisterHandlers(BaseHttpServer httpServer) 65 public void RegisterHandlers(BaseHttpServer httpServer)
66 { 66 {
67 m_httpServer = httpServer; 67 m_httpServer = httpServer;
68 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", 68 m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info",
69 m_gridInfoService.RestGetGridInfoMethod)); 69 m_gridInfoService.RestGetGridInfoMethod));
70 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod); 70 m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
71 } 71 }
72 72
73 public void Close() 73 public void Close()
74 { 74 {
75 } 75 }
76 } 76 }
77} 77}
diff --git a/OpenSim/Grid/UserServer/UserServerEventDispatchModule.cs b/OpenSim/Grid/UserServer/UserServerEventDispatchModule.cs
index 2d3f414..9ff9cfc 100644
--- a/OpenSim/Grid/UserServer/UserServerEventDispatchModule.cs
+++ b/OpenSim/Grid/UserServer/UserServerEventDispatchModule.cs
@@ -1,141 +1,141 @@
1/* 1/*
2 * Copyright (c) Contributors, http://opensimulator.org/ 2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders. 3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the 12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products 13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission. 14 * derived from this software without specific prior written permission.
15 * 15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY 16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using System.Reflection; 31using System.Reflection;
32using log4net; 32using log4net;
33using log4net.Config; 33using log4net.Config;
34using OpenMetaverse; 34using OpenMetaverse;
35using OpenSim.Data; 35using OpenSim.Data;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Communications; 37using OpenSim.Framework.Communications;
38using OpenSim.Framework.Communications.Cache; 38using OpenSim.Framework.Communications.Cache;
39using OpenSim.Framework.Console; 39using OpenSim.Framework.Console;
40using OpenSim.Framework.Servers; 40using OpenSim.Framework.Servers;
41using OpenSim.Framework.Statistics; 41using OpenSim.Framework.Statistics;
42using OpenSim.Grid.Communications.OGS1; 42using OpenSim.Grid.Communications.OGS1;
43using OpenSim.Grid.Framework; 43using OpenSim.Grid.Framework;
44using OpenSim.Grid.UserServer.Modules; 44using OpenSim.Grid.UserServer.Modules;
45 45
46namespace OpenSim.Grid.UserServer 46namespace OpenSim.Grid.UserServer
47{ 47{
48 //Do we actually need these event dispatchers? 48 //Do we actually need these event dispatchers?
49 //shouldn't the other modules just directly register event handlers to each other? 49 //shouldn't the other modules just directly register event handlers to each other?
50 public class UserServerEventDispatchModule 50 public class UserServerEventDispatchModule
51 { 51 {
52 protected UserManager m_userManager; 52 protected UserManager m_userManager;
53 protected MessageServersConnector m_messagesService; 53 protected MessageServersConnector m_messagesService;
54 protected UserLoginService m_loginService; 54 protected UserLoginService m_loginService;
55 55
56 public UserServerEventDispatchModule(UserManager userManager, MessageServersConnector messagesService, UserLoginService loginService) 56 public UserServerEventDispatchModule(UserManager userManager, MessageServersConnector messagesService, UserLoginService loginService)
57 { 57 {
58 m_userManager = userManager; 58 m_userManager = userManager;
59 m_messagesService = messagesService; 59 m_messagesService = messagesService;
60 m_loginService = loginService; 60 m_loginService = loginService;
61 } 61 }
62 62
63 public void Initialise(IGridServiceCore core) 63 public void Initialise(IGridServiceCore core)
64 { 64 {
65 } 65 }
66 66
67 public void PostInitialise() 67 public void PostInitialise()
68 { 68 {
69 m_loginService.OnUserLoggedInAtLocation += NotifyMessageServersUserLoggedInToLocation; 69 m_loginService.OnUserLoggedInAtLocation += NotifyMessageServersUserLoggedInToLocation;
70 m_userManager.OnLogOffUser += NotifyMessageServersUserLoggOff; 70 m_userManager.OnLogOffUser += NotifyMessageServersUserLoggOff;
71 71
72 m_messagesService.OnAgentLocation += HandleAgentLocation; 72 m_messagesService.OnAgentLocation += HandleAgentLocation;
73 m_messagesService.OnAgentLeaving += HandleAgentLeaving; 73 m_messagesService.OnAgentLeaving += HandleAgentLeaving;
74 m_messagesService.OnRegionStartup += HandleRegionStartup; 74 m_messagesService.OnRegionStartup += HandleRegionStartup;
75 m_messagesService.OnRegionShutdown += HandleRegionShutdown; 75 m_messagesService.OnRegionShutdown += HandleRegionShutdown;
76 } 76 }
77 77
78 public void RegisterHandlers(BaseHttpServer httpServer) 78 public void RegisterHandlers(BaseHttpServer httpServer)
79 { 79 {
80 80
81 } 81 }
82 82
83 public void Close() 83 public void Close()
84 { 84 {
85 m_loginService.OnUserLoggedInAtLocation -= NotifyMessageServersUserLoggedInToLocation; 85 m_loginService.OnUserLoggedInAtLocation -= NotifyMessageServersUserLoggedInToLocation;
86 } 86 }
87 87
88 #region Event Handlers 88 #region Event Handlers
89 public void NotifyMessageServersUserLoggOff(UUID agentID) 89 public void NotifyMessageServersUserLoggOff(UUID agentID)
90 { 90 {
91 m_messagesService.TellMessageServersAboutUserLogoff(agentID); 91 m_messagesService.TellMessageServersAboutUserLogoff(agentID);
92 } 92 }
93 93
94 public void NotifyMessageServersUserLoggedInToLocation(UUID agentID, UUID sessionID, UUID RegionID, 94 public void NotifyMessageServersUserLoggedInToLocation(UUID agentID, UUID sessionID, UUID RegionID,
95 ulong regionhandle, float positionX, float positionY, 95 ulong regionhandle, float positionX, float positionY,
96 float positionZ, string firstname, string lastname) 96 float positionZ, string firstname, string lastname)
97 { 97 {
98 m_messagesService.TellMessageServersAboutUser(agentID, sessionID, RegionID, regionhandle, positionX, 98 m_messagesService.TellMessageServersAboutUser(agentID, sessionID, RegionID, regionhandle, positionX,
99 positionY, positionZ, firstname, lastname); 99 positionY, positionZ, firstname, lastname);
100 } 100 }
101 101
102 public void HandleAgentLocation(UUID agentID, UUID regionID, ulong regionHandle) 102 public void HandleAgentLocation(UUID agentID, UUID regionID, ulong regionHandle)
103 { 103 {
104 m_userManager.HandleAgentLocation(agentID, regionID, regionHandle); 104 m_userManager.HandleAgentLocation(agentID, regionID, regionHandle);
105 } 105 }
106 106
107 public void HandleAgentLeaving(UUID agentID, UUID regionID, ulong regionHandle) 107 public void HandleAgentLeaving(UUID agentID, UUID regionID, ulong regionHandle)
108 { 108 {
109 m_userManager.HandleAgentLeaving(agentID, regionID, regionHandle); 109 m_userManager.HandleAgentLeaving(agentID, regionID, regionHandle);
110 } 110 }
111 111
112 public void HandleRegionStartup(UUID regionID) 112 public void HandleRegionStartup(UUID regionID)
113 { 113 {
114 // This might seem strange, that we send this back to the 114 // This might seem strange, that we send this back to the
115 // server it came from. But there is method to the madness. 115 // server it came from. But there is method to the madness.
116 // There can be multiple user servers on the same database, 116 // There can be multiple user servers on the same database,
117 // and each can have multiple messaging servers. So, we send 117 // and each can have multiple messaging servers. So, we send
118 // it to all known user servers, who send it to all known 118 // it to all known user servers, who send it to all known
119 // message servers. That way, we should be able to finally 119 // message servers. That way, we should be able to finally
120 // update presence to all regions and thereby all friends 120 // update presence to all regions and thereby all friends
121 // 121 //
122 m_userManager.HandleRegionStartup(regionID); 122 m_userManager.HandleRegionStartup(regionID);
123 m_messagesService.TellMessageServersAboutRegionShutdown(regionID); 123 m_messagesService.TellMessageServersAboutRegionShutdown(regionID);
124 } 124 }
125 125
126 public void HandleRegionShutdown(UUID regionID) 126 public void HandleRegionShutdown(UUID regionID)
127 { 127 {
128 // This might seem strange, that we send this back to the 128 // This might seem strange, that we send this back to the
129 // server it came from. But there is method to the madness. 129 // server it came from. But there is method to the madness.
130 // There can be multiple user servers on the same database, 130 // There can be multiple user servers on the same database,
131 // and each can have multiple messaging servers. So, we send 131 // and each can have multiple messaging servers. So, we send
132 // it to all known user servers, who send it to all known 132 // it to all known user servers, who send it to all known
133 // message servers. That way, we should be able to finally 133 // message servers. That way, we should be able to finally
134 // update presence to all regions and thereby all friends 134 // update presence to all regions and thereby all friends
135 // 135 //
136 m_userManager.HandleRegionShutdown(regionID); 136 m_userManager.HandleRegionShutdown(regionID);
137 m_messagesService.TellMessageServersAboutRegionShutdown(regionID); 137 m_messagesService.TellMessageServersAboutRegionShutdown(regionID);
138 } 138 }
139 #endregion 139 #endregion
140 } 140 }
141} 141}