Making IntegrationService pluggable
First steps to making a pluggable IntegrationService.integration
							parent
							
								
									e8eb9b7e84
								
							
						
					
					
						commit
						ade1acc9d4
					
				|  | @ -5,10 +5,21 @@ using System.Reflection; | |||
| using Nini.Config; | ||||
| using OpenSim.Framework; | ||||
| using GridRegion = OpenSim.Services.Interfaces.GridRegion; | ||||
| using Mono.Addins; | ||||
| 
 | ||||
| 
 | ||||
| [assembly:AddinRoot ("IntegrationService", "1.0")] | ||||
| 
 | ||||
| namespace OpenSim.Services.IntegrationService | ||||
| { | ||||
|     public class IntegrationServiceBase : ServiceBase | ||||
|     [TypeExtensionPoint (Path="/OpenSim/IntegrationService", Name="IntegrationService")] | ||||
|     public interface IntegrationPlugin | ||||
|     { | ||||
|         void run(); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|      public class IntegrationServiceBase : ServiceBase | ||||
|     { | ||||
|         protected IPresenceService m_PresenceService; | ||||
|         protected IGridService m_GridService; | ||||
|  | @ -19,6 +30,11 @@ namespace OpenSim.Services.IntegrationService | |||
|         { | ||||
|             Object[] args = new Object[] { config }; | ||||
| 
 | ||||
|             AddinManager.Initialize ("."); | ||||
|             AddinManager.Registry.Update (); | ||||
|             foreach (IntegrationPlugin cmd in AddinManager.GetExtensionObjects("/OpenSim/IntegrationService")) | ||||
|          cmd.run (); | ||||
| 
 | ||||
|             m_IntegrationServerConfig = config.Configs["IntegrationService"]; | ||||
|             if (m_IntegrationServerConfig == null) | ||||
|             { | ||||
|  |  | |||
|  | @ -1179,6 +1179,7 @@ | |||
|       <Reference name="OpenSim.Server.Base"/> | ||||
|       <Reference name="Nini" path="../../../bin/"/> | ||||
|       <Reference name="log4net" path="../../../bin/"/> | ||||
|       <Reference name="Mono.Addins" path="../../../bin/"/> | ||||
| 
 | ||||
|       <Files> | ||||
|         <Match pattern="*.cs" recurse="true"/> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 BlueWall
						BlueWall