From 5cba04e2d6a7dd59a299e95d0e30faa7a5f9747e Mon Sep 17 00:00:00 2001 From: SignpostMarv Date: Sat, 10 Nov 2012 08:59:27 +0000 Subject: Converting DialogModule to INonSharedRegionModule --- .../CoreModules/Avatar/Dialog/DialogModule.cs | 28 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 325067c..2fe708f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs @@ -32,6 +32,7 @@ using log4net; using Nini.Config; using OpenMetaverse; using OpenSim.Framework; +using Mono.Addins; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; @@ -39,16 +40,27 @@ using OpenSim.Services.Interfaces; namespace OpenSim.Region.CoreModules.Avatar.Dialog { - public class DialogModule : IRegionModule, IDialogModule + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] + public class DialogModule : IDialogModule, INonSharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); protected Scene m_scene; - - public void Initialise(Scene scene, IConfigSource source) + + public void Initialise(IConfigSource source) { } + + public Type ReplaceableInterface { get { return null; } } + + public void AddRegion(Scene scene) { m_scene = scene; m_scene.RegisterModuleInterface(this); + } + + public void RegionLoaded(Scene scene) + { + if(scene != m_scene) + return; m_scene.AddCommand( "Users", this, "alert", "alert ", @@ -60,11 +72,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog "Send an alert to a user", HandleAlertConsoleCommand); } + + public void RemoveRegion(Scene scene) + { + if(scene != m_scene) + return; + + m_scene.UnregisterModuleInterface(this); + } - public void PostInitialise() {} public void Close() {} public string Name { get { return "Dialog Module"; } } - public bool IsSharedModule { get { return false; } } public void SendAlertToUser(IClientAPI client, string message) { -- cgit v1.1