From 87822c5d958f4ea10269d6eb646a6288681d4718 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 17 Mar 2009 23:52:30 +0000 Subject: Add an event to process undelivered IMs --- .../Avatar/InstantMessage/MessageTransferModule.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'OpenSim/Region/CoreModules') diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 94a856b..f67bb0b 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs @@ -48,6 +48,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage protected List m_Scenes = new List(); protected Dictionary m_UserRegionMap = new Dictionary(); + public event UndeliveredMessage OnUndeliveredMessage; + public virtual void Initialise(Scene scene, IConfigSource config) { IConfig cnf = config.Configs["Messaging"]; @@ -165,6 +167,18 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage return; } + UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; + + // If this event has handlers, then the IM will be considered + // delivered. This will suppress the error message. + // + if (handlerUndeliveredMessage != null) + { + handlerUndeliveredMessage(im); + result(true); + return; + } + //m_log.DebugFormat("[INSTANT MESSAGE]: Undeliverable"); result(false); return; -- cgit v1.1