Lotsa plumming :)
							parent
							
								
									a11fa9055a
								
							
						
					
					
						commit
						6775b7d02d
					
				| 
						 | 
					@ -52,6 +52,61 @@ namespace OpenSim.Framework
 | 
				
			||||||
        //
 | 
					        //
 | 
				
			||||||
        public bool AcceptNotices = true;
 | 
					        public bool AcceptNotices = true;
 | 
				
			||||||
        public int Contribution = 0;
 | 
					        public int Contribution = 0;
 | 
				
			||||||
        public uint GroupPowers = 0;
 | 
					        public ulong GroupPowers = 0;
 | 
				
			||||||
 | 
					        public bool Active = false;
 | 
				
			||||||
 | 
					        public UUID ActiveRole = UUID.Zero;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public struct GroupTitlesData
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string Name;
 | 
				
			||||||
 | 
					        public UUID UUID;
 | 
				
			||||||
 | 
					        public bool Selected;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public struct GroupProfileData
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public UUID GroupID;
 | 
				
			||||||
 | 
					        public string Name;
 | 
				
			||||||
 | 
					        public string Charter;
 | 
				
			||||||
 | 
					        public bool ShowInList;
 | 
				
			||||||
 | 
					        public string MemberTitle;
 | 
				
			||||||
 | 
					        public ulong PowersMask;
 | 
				
			||||||
 | 
					        public UUID InsigniaID;
 | 
				
			||||||
 | 
					        public UUID FounderID;
 | 
				
			||||||
 | 
					        public int MembershipFee;
 | 
				
			||||||
 | 
					        public bool OpenEnrollment;
 | 
				
			||||||
 | 
					        public int Money;
 | 
				
			||||||
 | 
					        public int GroupMembershipCount;
 | 
				
			||||||
 | 
					        public int GroupRolesCount;
 | 
				
			||||||
 | 
					        public bool AllowPublish;
 | 
				
			||||||
 | 
					        public bool MaturePublish;
 | 
				
			||||||
 | 
					        public UUID OwnerRole;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public struct GroupMembersData
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public UUID AgentID;
 | 
				
			||||||
 | 
					        public int Contribution;
 | 
				
			||||||
 | 
					        public string OnlineStatus;
 | 
				
			||||||
 | 
					        public ulong AgentPowers;
 | 
				
			||||||
 | 
					        public string Title;
 | 
				
			||||||
 | 
					        public bool IsOwner;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public struct GroupRolesData
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public UUID RoleID;
 | 
				
			||||||
 | 
					        public string Name;
 | 
				
			||||||
 | 
					        public string Title;
 | 
				
			||||||
 | 
					        public string Description;
 | 
				
			||||||
 | 
					        public ulong Powers;
 | 
				
			||||||
 | 
					        public int Members;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public struct GroupRoleMembersData
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public UUID RoleID;
 | 
				
			||||||
 | 
					        public UUID MemberID;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,7 @@ using OpenSim.Framework;
 | 
				
			||||||
using OpenSim.Framework.Communications.Cache;
 | 
					using OpenSim.Framework.Communications.Cache;
 | 
				
			||||||
using OpenSim.Framework.Statistics;
 | 
					using OpenSim.Framework.Statistics;
 | 
				
			||||||
using OpenSim.Region.ClientStack.LindenUDP;
 | 
					using OpenSim.Region.ClientStack.LindenUDP;
 | 
				
			||||||
 | 
					using OpenSim.Region.Interfaces;
 | 
				
			||||||
using OpenSim.Region.Environment.Scenes;
 | 
					using OpenSim.Region.Environment.Scenes;
 | 
				
			||||||
using Timer = System.Timers.Timer;
 | 
					using Timer = System.Timers.Timer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6483,6 +6484,260 @@ namespace OpenSim.Region.ClientStack.LindenUDP
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        break;
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.ActivateGroup:
 | 
				
			||||||
 | 
					                        ActivateGroupPacket activateGroupPacket = (ActivateGroupPacket)Pack;
 | 
				
			||||||
 | 
					                        IGroupsModule grps = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        if (grps != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            grps.ActivateGroup(this, activateGroupPacket.AgentData.GroupID);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.GroupTitlesRequest:
 | 
				
			||||||
 | 
					                        GroupTitlesRequestPacket groupTitlesRequest =
 | 
				
			||||||
 | 
					                                (GroupTitlesRequestPacket)Pack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        IGroupsModule grps2 = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        if (grps2 != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GroupTitlesReplyPacket groupTitlesReply = (GroupTitlesReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupTitlesReply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupTitlesReply.AgentData =
 | 
				
			||||||
 | 
					                                    new GroupTitlesReplyPacket.AgentDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupTitlesReply.AgentData.AgentID = AgentId;
 | 
				
			||||||
 | 
					                            groupTitlesReply.AgentData.GroupID =
 | 
				
			||||||
 | 
					                                    groupTitlesRequest.AgentData.GroupID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupTitlesReply.AgentData.RequestID =
 | 
				
			||||||
 | 
					                                 groupTitlesRequest.AgentData.RequestID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            List<GroupTitlesData> titles =
 | 
				
			||||||
 | 
					                                    grps2.GroupTitlesRequest(this,
 | 
				
			||||||
 | 
					                                    groupTitlesRequest.AgentData.GroupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupTitlesReply.GroupData =
 | 
				
			||||||
 | 
					                                    new GroupTitlesReplyPacket.
 | 
				
			||||||
 | 
					                                    GroupDataBlock[titles.Count];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            int i = 0;
 | 
				
			||||||
 | 
					                            foreach (GroupTitlesData d in titles)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                groupTitlesReply.GroupData[i] =
 | 
				
			||||||
 | 
					                                        new GroupTitlesReplyPacket.
 | 
				
			||||||
 | 
					                                        GroupDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                groupTitlesReply.GroupData[i].Title =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(d.Name);
 | 
				
			||||||
 | 
					                                groupTitlesReply.GroupData[i].RoleID =
 | 
				
			||||||
 | 
					                                        d.UUID;
 | 
				
			||||||
 | 
					                                groupTitlesReply.GroupData[i].Selected =
 | 
				
			||||||
 | 
					                                        d.Selected;
 | 
				
			||||||
 | 
					                                i++;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            OutPacket(groupTitlesReply, ThrottleOutPacketType.Task);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.GroupProfileRequest:
 | 
				
			||||||
 | 
					                        GroupProfileRequestPacket groupProfileRequest =
 | 
				
			||||||
 | 
					                            (GroupProfileRequestPacket)Pack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        IGroupsModule grps3 = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        if (grps3 != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GroupProfileReplyPacket groupProfileReply = (GroupProfileReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupProfileReply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupProfileReply.AgentData = new GroupProfileReplyPacket.AgentDataBlock();
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData = new GroupProfileReplyPacket.GroupDataBlock();
 | 
				
			||||||
 | 
					                            groupProfileReply.AgentData.AgentID = AgentId;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            GroupProfileData d = grps3.GroupProfileRequest(this,
 | 
				
			||||||
 | 
					                                    groupProfileRequest.GroupData.GroupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.GroupID = d.GroupID;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.Name = Utils.StringToBytes(d.Name);
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.Charter = Utils.StringToBytes(d.Charter);
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.ShowInList = d.ShowInList;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.MemberTitle = Utils.StringToBytes(d.MemberTitle);
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.PowersMask = d.PowersMask;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.InsigniaID = d.InsigniaID;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.FounderID = d.FounderID;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.MembershipFee = d.MembershipFee;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.OpenEnrollment = d.OpenEnrollment;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.Money = d.Money;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.GroupMembershipCount = d.GroupMembershipCount;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.GroupRolesCount = d.GroupRolesCount;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.AllowPublish = d.AllowPublish;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.MaturePublish = d.MaturePublish;
 | 
				
			||||||
 | 
					                            groupProfileReply.GroupData.OwnerRole = d.OwnerRole;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            OutPacket(groupProfileReply, ThrottleOutPacketType.Task);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.GroupMembersRequest:
 | 
				
			||||||
 | 
					                        GroupMembersRequestPacket groupMembersRequestPacket =
 | 
				
			||||||
 | 
					                                (GroupMembersRequestPacket)Pack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        IGroupsModule grps4 = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        List<GroupMembersData> members =
 | 
				
			||||||
 | 
					                                grps4.GroupMembersRequest(this, groupMembersRequestPacket.GroupData.GroupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if (grps4 != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GroupMembersReplyPacket groupMembersReply = (GroupMembersReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupMembersReply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupMembersReply.AgentData =
 | 
				
			||||||
 | 
					                                new GroupMembersReplyPacket.AgentDataBlock();
 | 
				
			||||||
 | 
					                            groupMembersReply.GroupData =
 | 
				
			||||||
 | 
					                                new GroupMembersReplyPacket.GroupDataBlock();
 | 
				
			||||||
 | 
					                            groupMembersReply.MemberData =
 | 
				
			||||||
 | 
					                                new GroupMembersReplyPacket.MemberDataBlock[
 | 
				
			||||||
 | 
					                                members.Count];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupMembersReply.AgentData.AgentID = AgentId;
 | 
				
			||||||
 | 
					                            groupMembersReply.GroupData.GroupID =
 | 
				
			||||||
 | 
					                                    groupMembersRequestPacket.GroupData.GroupID;
 | 
				
			||||||
 | 
					                            groupMembersReply.GroupData.RequestID =
 | 
				
			||||||
 | 
					                                    groupMembersRequestPacket.GroupData.RequestID;
 | 
				
			||||||
 | 
					                            groupMembersReply.GroupData.MemberCount = members.Count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            int i = 0;
 | 
				
			||||||
 | 
					                            foreach (GroupMembersData m in members)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i] =
 | 
				
			||||||
 | 
					                                        new GroupMembersReplyPacket.MemberDataBlock();
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].AgentID =
 | 
				
			||||||
 | 
					                                        m.AgentID;
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].Contribution =
 | 
				
			||||||
 | 
					                                        m.Contribution;
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].OnlineStatus =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(m.OnlineStatus);
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].AgentPowers =
 | 
				
			||||||
 | 
					                                        m.AgentPowers;
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].Title =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(m.Title);
 | 
				
			||||||
 | 
					                                groupMembersReply.MemberData[i].IsOwner =
 | 
				
			||||||
 | 
					                                        m.IsOwner;
 | 
				
			||||||
 | 
					                                i++;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            OutPacket(groupMembersReply, ThrottleOutPacketType.Task);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.GroupRoleDataRequest:
 | 
				
			||||||
 | 
					                        GroupRoleDataRequestPacket groupRolesRequest =
 | 
				
			||||||
 | 
					                                (GroupRoleDataRequestPacket)Pack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        IGroupsModule grps5 = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        if (grps5 != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GroupRoleDataReplyPacket groupRolesReply = (GroupRoleDataReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupRoleDataReply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.AgentData =
 | 
				
			||||||
 | 
					                                    new GroupRoleDataReplyPacket.AgentDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.AgentData.AgentID = AgentId;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.GroupData =
 | 
				
			||||||
 | 
					                                    new GroupRoleDataReplyPacket.
 | 
				
			||||||
 | 
					                                    GroupDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.GroupData.GroupID =
 | 
				
			||||||
 | 
					                                    groupRolesRequest.GroupData.GroupID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.GroupData.RequestID =
 | 
				
			||||||
 | 
					                                 groupRolesRequest.GroupData.RequestID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            List<GroupRolesData> titles =
 | 
				
			||||||
 | 
					                                    grps5.GroupRoleDataRequest(this,
 | 
				
			||||||
 | 
					                                    groupRolesRequest.GroupData.GroupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.GroupData.RoleCount =
 | 
				
			||||||
 | 
					                                    titles.Count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRolesReply.RoleData =
 | 
				
			||||||
 | 
					                                    new GroupRoleDataReplyPacket.
 | 
				
			||||||
 | 
					                                    RoleDataBlock[titles.Count];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            int i = 0;
 | 
				
			||||||
 | 
					                            foreach (GroupRolesData d in titles)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i] =
 | 
				
			||||||
 | 
					                                        new GroupRoleDataReplyPacket.
 | 
				
			||||||
 | 
					                                        RoleDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].RoleID =
 | 
				
			||||||
 | 
					                                        d.RoleID;
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].Name =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(d.Name);
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].Title =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(d.Title);
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].Description =
 | 
				
			||||||
 | 
					                                        Utils.StringToBytes(d.Description);
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].Powers =
 | 
				
			||||||
 | 
					                                        d.Powers;
 | 
				
			||||||
 | 
					                                groupRolesReply.RoleData[i].Members =
 | 
				
			||||||
 | 
					                                        (uint)d.Members;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                i++;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Console.WriteLine(groupRolesReply.ToString());
 | 
				
			||||||
 | 
					                            OutPacket(groupRolesReply, ThrottleOutPacketType.Task);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    case PacketType.GroupRoleMembersRequest:
 | 
				
			||||||
 | 
					                        GroupRoleMembersRequestPacket groupRoleMembersRequest =
 | 
				
			||||||
 | 
					                                (GroupRoleMembersRequestPacket)Pack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        IGroupsModule grps6 = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
				
			||||||
 | 
					                        if (grps6 != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GroupRoleMembersReplyPacket groupRoleMembersReply = (GroupRoleMembersReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupRoleMembersReply);
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.AgentData =
 | 
				
			||||||
 | 
					                                new GroupRoleMembersReplyPacket.AgentDataBlock();
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.AgentData.AgentID =
 | 
				
			||||||
 | 
					                                    AgentId;
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.AgentData.GroupID =
 | 
				
			||||||
 | 
					                                    groupRoleMembersRequest.GroupData.GroupID;
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.AgentData.RequestID =
 | 
				
			||||||
 | 
					                                    groupRoleMembersRequest.GroupData.RequestID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            List<GroupRoleMembersData> mappings =
 | 
				
			||||||
 | 
					                                    grps6.GroupRoleMembersRequest(this,
 | 
				
			||||||
 | 
					                                    groupRoleMembersRequest.GroupData.GroupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.AgentData.TotalPairs =
 | 
				
			||||||
 | 
					                                    (uint)mappings.Count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            groupRoleMembersReply.MemberData =
 | 
				
			||||||
 | 
					                                    new GroupRoleMembersReplyPacket.
 | 
				
			||||||
 | 
					                                    MemberDataBlock[mappings.Count];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            int i = 0;
 | 
				
			||||||
 | 
					                            foreach (GroupRoleMembersData d in mappings)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                groupRoleMembersReply.MemberData[i] =
 | 
				
			||||||
 | 
					                                        new GroupRoleMembersReplyPacket.
 | 
				
			||||||
 | 
					                                        MemberDataBlock();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                groupRoleMembersReply.MemberData[i].RoleID =
 | 
				
			||||||
 | 
					                                        d.RoleID;
 | 
				
			||||||
 | 
					                                groupRoleMembersReply.MemberData[i].MemberID =
 | 
				
			||||||
 | 
					                                        d.MemberID;
 | 
				
			||||||
 | 
					                                i++;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            OutPacket(groupRoleMembersReply, ThrottleOutPacketType.Task);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    default:
 | 
					                    default:
 | 
				
			||||||
                        m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
 | 
					                        m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
 | 
				
			||||||
                        break;
 | 
					                        break;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,7 +162,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            UUID ActiveGroupID;
 | 
					            UUID ActiveGroupID;
 | 
				
			||||||
            string ActiveGroupName;
 | 
					            string ActiveGroupName;
 | 
				
			||||||
            uint ActiveGroupPowers;
 | 
					            ulong ActiveGroupPowers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            string firstname = remoteClient.FirstName;
 | 
					            string firstname = remoteClient.FirstName;
 | 
				
			||||||
            string lastname = remoteClient.LastName;
 | 
					            string lastname = remoteClient.LastName;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,45 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright (c) Contributors, http://opensimulator.org/
 | 
				
			||||||
 | 
					 * See CONTRIBUTORS.TXT for a full list of copyright holders.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					 * modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					 *     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					 *       notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					 *     * Redistributions in binary form must reproduce the above copyright
 | 
				
			||||||
 | 
					 *       notice, this list of conditions and the following disclaimer in the
 | 
				
			||||||
 | 
					 *       documentation and/or other materials provided with the distribution.
 | 
				
			||||||
 | 
					 *     * Neither the name of the OpenSim Project nor the
 | 
				
			||||||
 | 
					 *       names of its contributors may be used to endorse or promote products
 | 
				
			||||||
 | 
					 *       derived from this software without specific prior written permission.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
 | 
				
			||||||
 | 
					 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 | 
				
			||||||
 | 
					 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
				
			||||||
 | 
					 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
 | 
				
			||||||
 | 
					 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
				
			||||||
 | 
					 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 | 
				
			||||||
 | 
					 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 | 
				
			||||||
 | 
					 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
				
			||||||
 | 
					 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | 
				
			||||||
 | 
					 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using OpenSim.Framework;
 | 
				
			||||||
 | 
					using OpenMetaverse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace OpenSim.Region.Interfaces
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public interface IGroupsModule
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        void ActivateGroup(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					        List<GroupTitlesData> GroupTitlesRequest(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					        List<GroupMembersData> GroupMembersRequest(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					        List<GroupRolesData> GroupRoleDataRequest(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					        List<GroupRoleMembersData> GroupRoleMembersRequest(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					        GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -960,6 +960,7 @@
 | 
				
			||||||
      <Reference name="OpenMetaverse.dll"/>
 | 
					      <Reference name="OpenMetaverse.dll"/>
 | 
				
			||||||
      <Reference name="OpenSim.Region.Environment"/>
 | 
					      <Reference name="OpenSim.Region.Environment"/>
 | 
				
			||||||
      <Reference name="OpenSim.Framework"/>
 | 
					      <Reference name="OpenSim.Framework"/>
 | 
				
			||||||
 | 
					      <Reference name="OpenSim.Region.Interfaces"/>
 | 
				
			||||||
      <Reference name="OpenSim.Data"/>
 | 
					      <Reference name="OpenSim.Data"/>
 | 
				
			||||||
      <Reference name="OpenSim.Framework.Servers"/>
 | 
					      <Reference name="OpenSim.Framework.Servers"/>
 | 
				
			||||||
      <Reference name="OpenSim.Framework.Console"/>
 | 
					      <Reference name="OpenSim.Framework.Console"/>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue