diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/GroupData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 52 | ||||
-rw-r--r-- | OpenSim/Region/Interfaces/IGroupsModule.cs | 4 |
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 | } |