aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/GroupData.cs10
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs52
-rw-r--r--OpenSim/Region/Interfaces/IGroupsModule.cs4
3 files changed, 65 insertions, 1 deletions
diff --git a/OpenSim/Framework/GroupData.cs b/OpenSim/Framework/GroupData.cs
index 9626553..3b980e7 100644
--- a/OpenSim/Framework/GroupData.cs
+++ b/OpenSim/Framework/GroupData.cs
@@ -113,4 +113,14 @@ namespace OpenSim.Framework
113 public UUID RoleID; 113 public UUID RoleID;
114 public UUID MemberID; 114 public UUID MemberID;
115 } 115 }
116
117 public struct GroupNoticeData
118 {
119 public UUID NoticeID;
120 public uint Timestamp;
121 public string FromName;
122 public string Subject;
123 public bool HasAttachment;
124 public byte AssetType;
125 }
116} 126}
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 803dea6..340472c 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -6809,6 +6809,58 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6809 } 6809 }
6810 6810
6811 break; 6811 break;
6812 case PacketType.GroupNoticesListRequest:
6813 GroupNoticesListRequestPacket groupNoticesListRequest =
6814 (GroupNoticesListRequestPacket)Pack;
6815
6816 if (m_GroupsModule != null)
6817 {
6818 GroupNoticeData[] gn =
6819 m_GroupsModule.GroupNoticesListRequest(this,
6820 groupNoticesListRequest.Data.GroupID);
6821
6822 GroupNoticesListReplyPacket groupNoticesListReply = (GroupNoticesListReplyPacket)PacketPool.Instance.GetPacket(PacketType.GroupNoticesListReply);
6823 groupNoticesListReply.AgentData =
6824 new GroupNoticesListReplyPacket.AgentDataBlock();
6825 groupNoticesListReply.AgentData.AgentID = AgentId;
6826 groupNoticesListReply.AgentData.GroupID = groupNoticesListRequest.Data.GroupID;
6827
6828 groupNoticesListReply.Data = new GroupNoticesListReplyPacket.DataBlock[gn.Length];
6829
6830 int i = 0;
6831 foreach (GroupNoticeData g in gn)
6832 {
6833 groupNoticesListReply.Data[i] = new GroupNoticesListReplyPacket.DataBlock();
6834 groupNoticesListReply.Data[i].NoticeID =
6835 g.NoticeID;
6836 groupNoticesListReply.Data[i].Timestamp =
6837 g.Timestamp;
6838 groupNoticesListReply.Data[i].FromName =
6839 Utils.StringToBytes(g.FromName);
6840 groupNoticesListReply.Data[i].Subject =
6841 Utils.StringToBytes(g.Subject);
6842 groupNoticesListReply.Data[i].HasAttachment =
6843 g.HasAttachment;
6844 groupNoticesListReply.Data[i].AssetType =
6845 g.AssetType;
6846 i++;
6847 }
6848
6849 OutPacket(groupNoticesListReply, ThrottleOutPacketType.Task);
6850 }
6851
6852 break;
6853 case PacketType.GroupNoticeRequest:
6854 GroupNoticeRequestPacket groupNoticeRequest =
6855 (GroupNoticeRequestPacket)Pack;
6856
6857 if (m_GroupsModule != null)
6858 {
6859 m_GroupsModule.GroupNoticeRequest(this,
6860 groupNoticeRequest.Data.GroupNoticeID);
6861 }
6862 break;
6863
6812 default: 6864 default:
6813 m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString()); 6865 m_log.Warn("[CLIENT]: unhandled packet " + Pack.ToString());
6814 break; 6866 break;
diff --git a/OpenSim/Region/Interfaces/IGroupsModule.cs b/OpenSim/Region/Interfaces/IGroupsModule.cs
index 8565e04..f5193c3 100644
--- a/OpenSim/Region/Interfaces/IGroupsModule.cs
+++ b/OpenSim/Region/Interfaces/IGroupsModule.cs
@@ -48,7 +48,9 @@ namespace OpenSim.Region.Interfaces
48 48
49 void GroupTitleUpdate(IClientAPI remoteClient, UUID GroupID, UUID TitleRoleID); 49 void GroupTitleUpdate(IClientAPI remoteClient, UUID GroupID, UUID TitleRoleID);
50 UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish); 50 UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish);
51 51
52 GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID GroupID);
53 void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID);
52 void SendAgentGroupDataUpdate(IClientAPI remoteClient); 54 void SendAgentGroupDataUpdate(IClientAPI remoteClient);
53 } 55 }
54} 56}