diff options
author | Homer Horwitz | 2008-11-01 22:09:48 +0000 |
---|---|---|
committer | Homer Horwitz | 2008-11-01 22:09:48 +0000 |
commit | 38e8853e5761d09a7e8f580dd277d9b99b834696 (patch) | |
tree | 653fe4c9075a03c05a4b5782f7309afa83062e5c /OpenSim/Region/ClientStack | |
parent | * minor: Remove mono compiler warning (diff) | |
download | opensim-SC_OLD-38e8853e5761d09a7e8f580dd277d9b99b834696.zip opensim-SC_OLD-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.gz opensim-SC_OLD-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.bz2 opensim-SC_OLD-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.cs | 23 |
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; |