diff options
Diffstat (limited to 'OpenSim/Region')
4 files changed, 126 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 7eb6ef4..09e4160 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -6867,6 +6867,60 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6867 | } | 6867 | } |
6868 | break; | 6868 | break; |
6869 | 6869 | ||
6870 | case PacketType.JoinGroupRequest: | ||
6871 | JoinGroupRequestPacket joinGroupRequest = | ||
6872 | (JoinGroupRequestPacket)Pack; | ||
6873 | |||
6874 | if (m_GroupsModule != null) | ||
6875 | { | ||
6876 | m_GroupsModule.JoinGroupRequest(this, | ||
6877 | joinGroupRequest.GroupData.GroupID); | ||
6878 | } | ||
6879 | break; | ||
6880 | |||
6881 | case PacketType.LeaveGroupRequest: | ||
6882 | LeaveGroupRequestPacket leaveGroupRequest = | ||
6883 | (LeaveGroupRequestPacket)Pack; | ||
6884 | |||
6885 | if (m_GroupsModule != null) | ||
6886 | { | ||
6887 | m_GroupsModule.LeaveGroupRequest(this, | ||
6888 | leaveGroupRequest.GroupData.GroupID); | ||
6889 | } | ||
6890 | break; | ||
6891 | |||
6892 | case PacketType.EjectGroupMemberRequest: | ||
6893 | EjectGroupMemberRequestPacket ejectGroupMemberRequest = | ||
6894 | (EjectGroupMemberRequestPacket)Pack; | ||
6895 | |||
6896 | if (m_GroupsModule != null) | ||
6897 | { | ||
6898 | foreach (EjectGroupMemberRequestPacket.EjectDataBlock e | ||
6899 | in ejectGroupMemberRequest.EjectData) | ||
6900 | { | ||
6901 | m_GroupsModule.EjectGroupMemberRequest(this, | ||
6902 | ejectGroupMemberRequest.GroupData.GroupID, | ||
6903 | e.EjecteeID); | ||
6904 | } | ||
6905 | } | ||
6906 | break; | ||
6907 | |||
6908 | case PacketType.InviteGroupRequest: | ||
6909 | InviteGroupRequestPacket inviteGroupRequest = | ||
6910 | (InviteGroupRequestPacket)Pack; | ||
6911 | |||
6912 | if (m_GroupsModule != null) | ||
6913 | { | ||
6914 | foreach (InviteGroupRequestPacket.InviteDataBlock b in | ||
6915 | inviteGroupRequest.InviteData) | ||
6916 | { | ||
6917 | m_GroupsModule.InviteGroupRequest(this, | ||
6918 | inviteGroupRequest.GroupData.GroupID, | ||
6919 | b.InviteeID, | ||
6920 | b.RoleID); | ||
6921 | } | ||
6922 | } | ||
6923 | break; | ||
6870 | default: | 6924 | default: |
6871 | m_log.Warn("[CLIENT]: unhandled packet " + Pack); | 6925 | m_log.Warn("[CLIENT]: unhandled packet " + Pack); |
6872 | break; | 6926 | break; |
@@ -7648,6 +7702,50 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7648 | OutPacket(p, ThrottleOutPacketType.Task); | 7702 | OutPacket(p, ThrottleOutPacketType.Task); |
7649 | } | 7703 | } |
7650 | 7704 | ||
7705 | public void SendJoinGroupReply(UUID groupID, bool success) | ||
7706 | { | ||
7707 | JoinGroupReplyPacket p = (JoinGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.JoinGroupReply); | ||
7708 | |||
7709 | p.AgentData = new JoinGroupReplyPacket.AgentDataBlock(); | ||
7710 | p.AgentData.AgentID = AgentId; | ||
7711 | |||
7712 | p.GroupData = new JoinGroupReplyPacket.GroupDataBlock(); | ||
7713 | p.GroupData.GroupID = groupID; | ||
7714 | p.GroupData.Success = success; | ||
7715 | |||
7716 | OutPacket(p, ThrottleOutPacketType.Task); | ||
7717 | } | ||
7718 | |||
7719 | public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success) | ||
7720 | { | ||
7721 | EjectGroupMemberReplyPacket p = (EjectGroupMemberReplyPacket)PacketPool.Instance.GetPacket(PacketType.EjectGroupMemberReply); | ||
7722 | |||
7723 | p.AgentData = new EjectGroupMemberReplyPacket.AgentDataBlock(); | ||
7724 | p.AgentData.AgentID = agentID; | ||
7725 | |||
7726 | p.GroupData = new EjectGroupMemberReplyPacket.GroupDataBlock(); | ||
7727 | p.GroupData.GroupID = groupID; | ||
7728 | |||
7729 | p.EjectData = new EjectGroupMemberReplyPacket.EjectDataBlock(); | ||
7730 | p.EjectData.Success = success; | ||
7731 | |||
7732 | OutPacket(p, ThrottleOutPacketType.Task); | ||
7733 | } | ||
7734 | |||
7735 | public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success) | ||
7736 | { | ||
7737 | LeaveGroupReplyPacket p = (LeaveGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.LeaveGroupReply); | ||
7738 | |||
7739 | p.AgentData = new LeaveGroupReplyPacket.AgentDataBlock(); | ||
7740 | p.AgentData.AgentID = agentID; | ||
7741 | |||
7742 | p.GroupData = new LeaveGroupReplyPacket.GroupDataBlock(); | ||
7743 | p.GroupData.GroupID = groupID; | ||
7744 | p.GroupData.Success = success; | ||
7745 | |||
7746 | OutPacket(p, ThrottleOutPacketType.Task); | ||
7747 | } | ||
7748 | |||
7651 | public void KillEndDone() | 7749 | public void KillEndDone() |
7652 | { | 7750 | { |
7653 | KillPacket kp = new KillPacket(); | 7751 | KillPacket kp = new KillPacket(); |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 2792bf8..ba73a31 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -963,6 +963,18 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
963 | { | 963 | { |
964 | } | 964 | } |
965 | 965 | ||
966 | public void SendJoinGroupReply(UUID groupID, bool success) | ||
967 | { | ||
968 | } | ||
969 | |||
970 | public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success) | ||
971 | { | ||
972 | } | ||
973 | |||
974 | public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success) | ||
975 | { | ||
976 | } | ||
977 | |||
966 | public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data) | 978 | public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data) |
967 | { | 979 | { |
968 | } | 980 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 44ad400..8317fcc 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -968,6 +968,18 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
968 | { | 968 | { |
969 | } | 969 | } |
970 | 970 | ||
971 | public void SendJoinGroupReply(UUID groupID, bool success) | ||
972 | { | ||
973 | } | ||
974 | |||
975 | public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool succss) | ||
976 | { | ||
977 | } | ||
978 | |||
979 | public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success) | ||
980 | { | ||
981 | } | ||
982 | |||
971 | public void SendTerminateFriend(UUID exFriendID) | 983 | public void SendTerminateFriend(UUID exFriendID) |
972 | { | 984 | { |
973 | } | 985 | } |
diff --git a/OpenSim/Region/Interfaces/IGroupsModule.cs b/OpenSim/Region/Interfaces/IGroupsModule.cs index 4d1b1cc..97c39b7 100644 --- a/OpenSim/Region/Interfaces/IGroupsModule.cs +++ b/OpenSim/Region/Interfaces/IGroupsModule.cs | |||
@@ -55,5 +55,9 @@ namespace OpenSim.Region.Interfaces | |||
55 | void GroupRoleChanges(IClientAPI remoteClient, UUID GroupID, UUID RoleID, UUID MemberID, uint changes); | 55 | void GroupRoleChanges(IClientAPI remoteClient, UUID GroupID, UUID RoleID, UUID MemberID, uint changes); |
56 | void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID); | 56 | void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID); |
57 | void SendAgentGroupDataUpdate(IClientAPI remoteClient); | 57 | void SendAgentGroupDataUpdate(IClientAPI remoteClient); |
58 | void JoinGroupRequest(IClientAPI remoteClient, UUID GroupID); | ||
59 | void LeaveGroupRequest(IClientAPI remoteClient, UUID GroupID); | ||
60 | void EjectGroupMemberRequest(IClientAPI remoteClient, UUID GroupID, UUID EjecteeID); | ||
61 | void InviteGroupRequest(IClientAPI remoteClient, UUID GroupID, UUID InviteeID, UUID RoleID); | ||
58 | } | 62 | } |
59 | } | 63 | } |