Making plugins disposable
							parent
							
								
									083dd0c17c
								
							
						
					
					
						commit
						70808d6d54
					
				|  | @ -39,18 +39,19 @@ using log4net; | |||
| 
 | ||||
| using Ux = OpenSim.Services.IntegrationService.IUtils; | ||||
| 
 | ||||
| [assembly:AddinRoot ("IntegrationService", "1.1")] | ||||
| [assembly:AddinRoot ("IntegrationService", "2.0")] | ||||
| 
 | ||||
| namespace OpenSim.Services.IntegrationService | ||||
| { | ||||
|     [TypeExtensionPoint (Path="/OpenSim/IntegrationService", Name="IntegrationService")] | ||||
|     public interface IntegrationPlugin | ||||
|     public interface IntegrationPlugin: IDisposable | ||||
|     { | ||||
|         void Init(IConfigSource PluginConfig, IHttpServer server, ServiceBase service); | ||||
|         void Unload(); | ||||
|         string Name { get; } | ||||
|         string ConfigName { get; } | ||||
|         string DefaultConfig { get; } | ||||
|         void Dispose(); | ||||
|     } | ||||
| 
 | ||||
|     // Hide the nasty stuff in here, let the IntegrationService be clean for | ||||
|  | @ -151,7 +152,7 @@ namespace OpenSim.Services.IntegrationService | |||
|                 AddinManager.AddinLoaded += on_addinloaded_; | ||||
|                 AddinManager.AddinLoadError += on_addinloaderror_; | ||||
|                 AddinManager.AddinUnloaded += HandleAddinManagerAddinUnloaded; | ||||
|                 AddinManager.AddinEngine.ExtensionChanged += HandleAddinManagerAddinEngineExtensionChanged; | ||||
|                 // AddinManager.AddinEngine.ExtensionChanged += HandleAddinManagerAddinEngineExtensionChanged; | ||||
|      | ||||
|                 AddinManager.AddExtensionNodeHandler ("/OpenSim/IntegrationService", OnExtensionChanged); | ||||
| 
 | ||||
|  | @ -160,7 +161,7 @@ namespace OpenSim.Services.IntegrationService | |||
| 
 | ||||
|         void HandleAddinManagerAddinEngineExtensionChanged (object sender, ExtensionEventArgs args) | ||||
|         { | ||||
|             MainConsole.Instance.Output("Plugin Extension Change"); | ||||
|             MainConsole.Instance.Output(String.Format ("Plugin Extension Change Path:{0}", args.Path)); | ||||
|         } | ||||
| 
 | ||||
|         private IConfigSource GetConfig(string configName) | ||||
|  | @ -254,6 +255,7 @@ namespace OpenSim.Services.IntegrationService | |||
| 
 | ||||
|         private void UnLoadingPlugin(IntegrationPlugin plugin) | ||||
|         { | ||||
|             MainConsole.Instance.Output(plugin.Name); | ||||
|             plugin.Unload(); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 BlueWall
						BlueWall