From 9b66108081a8c8cf79faaa6c541554091c40850e Mon Sep 17 00:00:00 2001 From: Dr Scofield Date: Fri, 6 Feb 2009 16:55:34 +0000 Subject: This changeset is the step 1 of 2 in refactoring OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx! --- .../Framework/Interfaces/IMessageTransferModule.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs new file mode 100644 index 0000000..f0a5473 --- /dev/null +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -0,0 +1,40 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using OpenSim.Framework; +using OpenMetaverse; + +namespace OpenSim.Region.Framework.Interfaces +{ + public delegate void MessageResultNotification(bool success); + + public interface IMessageTransferModule + { + void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); + } +} -- cgit v1.1 From 801da4346aeb3c08969c4845f5c595135a64470a Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Thu, 12 Feb 2009 09:53:12 +0000 Subject: * optimized usings. --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 2 -- 1 file changed, 2 deletions(-) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index f0a5473..ffae307 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -25,9 +25,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -using System; using OpenSim.Framework; -using OpenMetaverse; namespace OpenSim.Region.Framework.Interfaces { -- cgit v1.1 From 1b65020b414bca9120fe87998769b5e138c435cd Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 19 Feb 2009 11:54:53 +0000 Subject: Added a event to IMessageTransferModule (and MessageTransferModule) so that other modules can capture IM messages and do custom handling of them. As just attaching to Client IM events doesn't really support this, as they would still get routed through the normal process and could give back errors. --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index ffae307..bc194b9 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -30,9 +30,12 @@ using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { public delegate void MessageResultNotification(bool success); + public delegate bool ExternalHandleIM(GridInstantMessage im); public interface IMessageTransferModule { + event ExternalHandleIM OnExternalIMCapture; + void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); } } -- cgit v1.1 From 74e3a8549264ca3aa506725c6c39449d2ed195be Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 19 Feb 2009 12:38:17 +0000 Subject: reverted last revision, until we decide how to handle capturing IM's --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index bc194b9..40c224d 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -30,12 +30,9 @@ using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { public delegate void MessageResultNotification(bool success); - public delegate bool ExternalHandleIM(GridInstantMessage im); - + public interface IMessageTransferModule { - event ExternalHandleIM OnExternalIMCapture; - void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); } } -- cgit v1.1 From 7b1c42836d58bd0b2f03ad45575520d8ecf8119d Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 20 Feb 2009 12:15:40 +0000 Subject: Committing interface and stubs for IM interception --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index 40c224d..51ac37c 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -25,14 +25,19 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +using System; using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { public delegate void MessageResultNotification(bool success); - + public delegate bool MessageFilterDelegate(GridInstantMessage im); + public interface IMessageTransferModule { void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); + + void RegisterMessageFilter(Byte dialog, bool always, MessageFilterDelegate fn); + void DeregisterMessageFilter(Byte dialog, MessageFilterDelegate fn); } } -- cgit v1.1 From c28b2f799a7f9e2205c65254b15c046940eba86c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 20 Feb 2009 12:48:46 +0000 Subject: Revert previous commit --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index 51ac37c..40c224d 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -25,19 +25,14 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -using System; using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { public delegate void MessageResultNotification(bool success); - public delegate bool MessageFilterDelegate(GridInstantMessage im); - + public interface IMessageTransferModule { void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); - - void RegisterMessageFilter(Byte dialog, bool always, MessageFilterDelegate fn); - void DeregisterMessageFilter(Byte dialog, MessageFilterDelegate fn); } } -- cgit v1.1 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 --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index 40c224d..86dc236 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -30,9 +30,12 @@ using OpenSim.Framework; namespace OpenSim.Region.Framework.Interfaces { public delegate void MessageResultNotification(bool success); + public delegate void UndeliveredMessage(GridInstantMessage im); public interface IMessageTransferModule { + event UndeliveredMessage OnUndeliveredMessage; + void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); } } -- cgit v1.1 From 840de6c036570d559ec6924cd8405d3f34a99fdd Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Mon, 1 Jun 2009 06:37:14 +0000 Subject: Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index 86dc236..b0b47a7 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -9,7 +9,7 @@ * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSim Project nor the + * * Neither the name of the OpenSimulator Project nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * -- cgit v1.1 From 87e2668529af4479e3dd94215193ff63ae685148 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 12 May 2014 23:30:44 +0100 Subject: For XmlRpcGroups (Flotsam) module, when MessageOnlineUsersOnly = true, handle notices to offline users directly as known undeliverable messages rather than discarding or attempting delivery. Offline notices can still be controlled with the [Messaging] ForwardOfflineGroupMessages setting. Looks to address more of http://opensimulator.org/mantis/view.php?id=7037 Only for Flotsam now for testing, but if approach works should be possible with core offline notices as well. --- OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index b0b47a7..379c769 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -37,5 +37,7 @@ namespace OpenSim.Region.Framework.Interfaces event UndeliveredMessage OnUndeliveredMessage; void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); + + void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result); } } -- cgit v1.1 From 484aa72ff893df31d7f0ecc186039905ceee7f24 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 12 May 2014 23:49:37 +0100 Subject: minor: Add some method doc to IMessageTransferModule --- .../Framework/Interfaces/IMessageTransferModule.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs') diff --git a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs index 379c769..290b826 100644 --- a/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IMessageTransferModule.cs @@ -36,8 +36,26 @@ namespace OpenSim.Region.Framework.Interfaces { event UndeliveredMessage OnUndeliveredMessage; + /// + /// Attempt to send an instant message to a given destination. + /// + /// + /// If the message cannot be delivered for any reason, this will be signalled on the OnUndeliveredMessage + /// event. result(false) will also be called if the message cannot be delievered unless the type is + /// InstantMessageDialog.MessageFromAgent. For successful message delivery, result(true) is called. + /// + /// + /// void SendInstantMessage(GridInstantMessage im, MessageResultNotification result); + /// + /// Appropriately handle a known undeliverable message without attempting a send. + /// + /// + /// Essentially, this invokes the OnUndeliveredMessage event. + /// + /// + /// void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result); } } -- cgit v1.1