From 66dc459a06ed0f22afa8aef904ee10506af7553b Mon Sep 17 00:00:00 2001 From: MW Date: Fri, 15 May 2009 12:09:29 +0000 Subject: [PATCH] Added PostInitialise method to IGridPlugin. Changes it so the loading of IGridServiceModules is done in the loaders PostInitialise method so that all IGridPlugin are initialised before any IGridServerModules. --- .../Grid/GridServer.ModuleLoader/GridModuleLoaderPlugin.cs | 3 +++ OpenSim/Grid/GridServer.Modules/GridServerPlugin.cs | 4 ++++ OpenSim/Grid/GridServer/GridServerBase.cs | 5 +++++ OpenSim/Grid/GridServer/IGridPlugin.cs | 1 + OpenSim/Grid/UserServer.Modules/UserServerPlugin.cs | 5 +++++ 5 files changed, 18 insertions(+) diff --git a/OpenSim/Grid/GridServer.ModuleLoader/GridModuleLoaderPlugin.cs b/OpenSim/Grid/GridServer.ModuleLoader/GridModuleLoaderPlugin.cs index 36d7ee4781..a05a50b258 100644 --- a/OpenSim/Grid/GridServer.ModuleLoader/GridModuleLoaderPlugin.cs +++ b/OpenSim/Grid/GridServer.ModuleLoader/GridModuleLoaderPlugin.cs @@ -20,7 +20,10 @@ namespace OpenSim.Grid.GridServer.ModuleLoader public void Initialise(GridServerBase gridServer) { m_core = gridServer; + } + public void PostInitialise() + { GridModuleLoader moduleLoader = new GridModuleLoader(); m_modules = moduleLoader.PickupModules("."); diff --git a/OpenSim/Grid/GridServer.Modules/GridServerPlugin.cs b/OpenSim/Grid/GridServer.Modules/GridServerPlugin.cs index cad4a9045b..3fdb9decd2 100644 --- a/OpenSim/Grid/GridServer.Modules/GridServerPlugin.cs +++ b/OpenSim/Grid/GridServer.Modules/GridServerPlugin.cs @@ -43,6 +43,10 @@ namespace OpenSim.Grid.GridServer.Modules SetupGridServices(); } + public void PostInitialise() + { + } + #endregion #region IPlugin Members diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index b66b6382b9..13b8dfd787 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs @@ -128,6 +128,11 @@ namespace OpenSim.Grid.GridServer LoadPlugins(); } + foreach (IGridPlugin plugin in m_plugins) + { + plugin.PostInitialise(); + } + m_httpServer.Start(); } diff --git a/OpenSim/Grid/GridServer/IGridPlugin.cs b/OpenSim/Grid/GridServer/IGridPlugin.cs index e2557c0689..78aba0c1bf 100644 --- a/OpenSim/Grid/GridServer/IGridPlugin.cs +++ b/OpenSim/Grid/GridServer/IGridPlugin.cs @@ -33,6 +33,7 @@ namespace OpenSim.Grid.GridServer public interface IGridPlugin : IPlugin { void Initialise(GridServerBase gridServer); + void PostInitialise(); } public class GridPluginInitialiser : PluginInitialiserBase diff --git a/OpenSim/Grid/UserServer.Modules/UserServerPlugin.cs b/OpenSim/Grid/UserServer.Modules/UserServerPlugin.cs index bacbadad83..c7edba525a 100644 --- a/OpenSim/Grid/UserServer.Modules/UserServerPlugin.cs +++ b/OpenSim/Grid/UserServer.Modules/UserServerPlugin.cs @@ -75,6 +75,11 @@ namespace OpenSim.Grid.UserServer.Modules Initialise(gridServer.HttpServer, gridServer, gridServer.UConfig); } + public void PostInitialise() + { + + } + #endregion public void Initialise(BaseHttpServer httpServer, IGridServiceCore core, UserConfig config)