From b4c9b6bd19c0725ae5bf60172db75ebc63ba72c6 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Tue, 1 Jan 2008 06:12:04 +0000 Subject: * You can add and remove a friend in standalone now within the same simulator. It saves. * You can add and remove a friend in grid mode now within the same simulator. It doesn't save yet. * I got rid of Mr. OpenSim as a friend.. he bothers me /:b... --- OpenSim/Region/ClientStack/ClientView.cs | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'OpenSim/Region/ClientStack') diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 8bf807c..aa8ab1d 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -551,6 +551,10 @@ namespace OpenSim.Region.ClientStack public event RegionInfoRequest OnRegionInfoRequest; public event EstateCovenantRequest OnEstateCovenantRequest; + public event FriendActionDelegate OnApproveFriendRequest; + public event FriendActionDelegate OnDenyFriendRequest; + public event FriendshipTermination OnTerminateFriendship; + #region Scene/Avatar to Client /// @@ -2555,6 +2559,39 @@ namespace OpenSim.Region.ClientStack msgpack.MessageBlock.BinaryBucket); } break; + + case PacketType.AcceptFriendship: + AcceptFriendshipPacket afriendpack = (AcceptFriendshipPacket)Pack; + + // My guess is this is the folder to stick the calling card into + List callingCardFolders = new List(); + + LLUUID agentID = afriendpack.AgentData.AgentID; + LLUUID transactionID = afriendpack.TransactionBlock.TransactionID; + + for (int fi = 0; fi < afriendpack.FolderData.Length; fi++) + { + callingCardFolders.Add(afriendpack.FolderData[fi].FolderID); + } + + if (OnApproveFriendRequest != null) + { + OnApproveFriendRequest(this, agentID, transactionID, callingCardFolders); + } + + + break; + case PacketType.TerminateFriendship: + TerminateFriendshipPacket tfriendpack = (TerminateFriendshipPacket)Pack; + LLUUID listOwnerAgentID = tfriendpack.AgentData.AgentID; + LLUUID exFriendID = tfriendpack.ExBlock.OtherID; + + if (OnTerminateFriendship != null) + { + OnTerminateFriendship(this, listOwnerAgentID, exFriendID); + } + + break; case PacketType.RezObject: RezObjectPacket rezPacket = (RezObjectPacket) Pack; if (OnRezObject != null) -- cgit v1.1