From b1ab680a66a3a6bdcf4976a342cc28412f6e2b2d Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Thu, 3 Jul 2008 20:58:29 +0000 Subject: Mantis#1658. Thank you, Melanie for a patch that: Adds IEmailModule and a module skelaton --- .../Modules/Scripting/EMailModules/EmailModule.cs | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 OpenSim/Region/Environment/Modules/Scripting/EMailModules/EmailModule.cs (limited to 'OpenSim/Region/Environment/Modules/Scripting/EMailModules') diff --git a/OpenSim/Region/Environment/Modules/Scripting/EMailModules/EmailModule.cs b/OpenSim/Region/Environment/Modules/Scripting/EMailModules/EmailModule.cs new file mode 100644 index 0000000..5d33b04 --- /dev/null +++ b/OpenSim/Region/Environment/Modules/Scripting/EMailModules/EmailModule.cs @@ -0,0 +1,90 @@ +using System; +using System.Reflection; +using System.Collections.Generic; +using libsecondlife; +using OpenSim.Framework; +using OpenSim.Region.Environment.Interfaces; +using OpenSim.Region.Environment.Scenes; +using log4net; +using Nini.Config; + +namespace OpenSim.Region.Environment.Modules.Scripting.EmailModules +{ + public class EmailModule : IEmailModule + { + // + // Log + // + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + // + // Module vars + // + private IConfigSource m_Config; + + // Scenes by Region Handle + private Dictionary m_Scenes = + new Dictionary(); + + private bool m_Enabled = false; + + public void Initialise(Scene scene, IConfigSource config) + { + m_Config = config; + + IConfig startupConfig = m_Config.Configs["Startup"]; + + m_Enabled = (startupConfig.GetString("emailmodule", + "DefaultEmailModule") == "DefaultEmailModule"); + + // It's a go! + if (m_Enabled) + { + lock (m_Scenes) + { + // Claim the interface slot + scene.RegisterModuleInterface(this); + + // Add to scene list + if (m_Scenes.ContainsKey(scene.RegionInfo.RegionHandle)) + { + m_Scenes[scene.RegionInfo.RegionHandle] = scene; + } + else + { + m_Scenes.Add(scene.RegionInfo.RegionHandle, scene); + } + } + + m_log.Info("[EMAIL] Activated DefaultEmailModule"); + } + } + + public void PostInitialise() + { + } + + public void Close() + { + } + + public string Name + { + get { return "DefaultEmailModule"; } + } + + public bool IsSharedModule + { + get { return true; } + } + + public void SendEmail(LLUUID objectID, string address, string subject, string body) + { + } + + public Email GetNextEmail(LLUUID objectID, string sender, string subject) + { + return null; + } + } +} -- cgit v1.1