From 38e8853e5761d09a7e8f580dd277d9b99b834696 Mon Sep 17 00:00:00 2001
From: Homer Horwitz
Date: Sat, 1 Nov 2008 22:09:48 +0000
Subject: Megapatch that fixes/adds: friend offer/deny/accept, friendship
termination, on-/offline updates, calling cards for friends. This adds
methods in the DB layer and changes the MessagingServer, so a full update
(incl. UGAIM) is necessary to get it working. Older regions shouldn't break,
nor should older UGAIM break newer regions, but friends/presence will only
work with all concerned parts (UGAIM, source region and destination region)
at this revision (or later). I added the DB code for MSSQL, too, but couldn't
test that. BEWARE: May contain bugs.
---
.../Communications/IInterRegionCommunications.cs | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
(limited to 'OpenSim/Framework/Communications/IInterRegionCommunications.cs')
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
index 3dd5561..6b589b9 100644
--- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs
+++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+using System.Collections.Generic;
using OpenMetaverse;
namespace OpenSim.Framework.Communications
@@ -46,5 +47,42 @@ namespace OpenSim.Framework.Communications
bool AcknowledgePrimCrossed(ulong regionHandle, UUID primID);
bool TellRegionToCloseChildConnection(ulong regionHandle, UUID agentID);
+
+ ///
+ /// Try to inform friends in the given region about online status of agent.
+ ///
+ ///
+ /// The of the agent.
+ ///
+ ///
+ /// The regionHandle of the region.
+ ///
+ ///
+ /// A List of s of friends to inform in the given region.
+ ///
+ ///
+ /// Is the agent online or offline
+ ///
+ ///
+ /// A list of friends that couldn't be reached on this region.
+ ///
+ List InformFriendsInOtherRegion(UUID agentId, ulong destRegionHandle, List friends, bool online);
+
+ ///
+ /// Send TerminateFriend of exFriendID to agent agentID in region regionHandle.
+ ///
+ ///
+ /// The handle of the region agentID is in (hopefully).
+ ///
+ ///
+ /// The agent to send the packet to.
+ ///
+ ///
+ /// The ex-friends ID.
+ ///
+ ///
+ /// Whether the packet could be sent. False if the agent couldn't be found in the region.
+ ///
+ bool TriggerTerminateFriend(ulong regionHandle, UUID agentID, UUID exFriendID);
}
}
--
cgit v1.1