aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorHomer Horwitz2008-11-01 22:09:48 +0000
committerHomer Horwitz2008-11-01 22:09:48 +0000
commit38e8853e5761d09a7e8f580dd277d9b99b834696 (patch)
tree653fe4c9075a03c05a4b5782f7309afa83062e5c /OpenSim/Region/ClientStack
parent* minor: Remove mono compiler warning (diff)
downloadopensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.zip
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.gz
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.bz2
opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.xz
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.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs23
1 files changed, 22 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 5b3bc98..363b09c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4129,7 +4129,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4129 handlerApproveFriendRequest(this, agentID, transactionID, callingCardFolders); 4129 handlerApproveFriendRequest(this, agentID, transactionID, callingCardFolders);
4130 } 4130 }
4131 break; 4131 break;
4132 4132
4133 case PacketType.DeclineFriendship:
4134 DeclineFriendshipPacket dfriendpack = (DeclineFriendshipPacket)Pack;
4135
4136 if (OnDenyFriendRequest != null)
4137 {
4138 OnDenyFriendRequest(this,
4139 dfriendpack.AgentData.AgentID,
4140 dfriendpack.TransactionBlock.TransactionID,
4141 null);
4142 }
4143 break;
4144
4133 case PacketType.TerminateFriendship: 4145 case PacketType.TerminateFriendship:
4134 TerminateFriendshipPacket tfriendpack = (TerminateFriendshipPacket)Pack; 4146 TerminateFriendshipPacket tfriendpack = (TerminateFriendshipPacket)Pack;
4135 UUID listOwnerAgentID = tfriendpack.AgentData.AgentID; 4147 UUID listOwnerAgentID = tfriendpack.AgentData.AgentID;
@@ -7648,6 +7660,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7648 OutPacket(p, ThrottleOutPacketType.Task); 7660 OutPacket(p, ThrottleOutPacketType.Task);
7649 } 7661 }
7650 7662
7663 public void SendTerminateFriend(UUID exFriendID)
7664 {
7665 TerminateFriendshipPacket p = (TerminateFriendshipPacket)PacketPool.Instance.GetPacket(PacketType.TerminateFriendship);
7666 p.AgentData.AgentID = AgentId;
7667 p.AgentData.SessionID = SessionId;
7668 p.ExBlock.OtherID = exFriendID;
7669 OutPacket(p, ThrottleOutPacketType.Task);
7670 }
7671
7651 public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data) 7672 public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data)
7652 { 7673 {
7653 int i; 7674 int i;