\r
groups = new Dictionary<UUID, Group>();\r
\r
- client.Groups.OnCurrentGroups += new GroupManager.CurrentGroupsCallback(Groups_OnCurrentGroups);\r
- client.Groups.OnGroupLeft += new GroupManager.GroupLeftCallback(Groups_OnGroupLeft);\r
- client.Groups.OnGroupDropped += new GroupManager.GroupDroppedCallback(Groups_OnGroupDropped);\r
- client.Groups.OnGroupJoined += new GroupManager.GroupJoinedCallback(Groups_OnGroupJoined);\r
+ client.Groups.CurrentGroups += new EventHandler<CurrentGroupsEventArgs>(Groups_CurrentGroups);\r
+ client.Groups.GroupLeaveReply += new EventHandler<GroupOperationEventArgs>(Groups_GroupsChanged);\r
+ client.Groups.GroupDropped += new EventHandler<GroupDroppedEventArgs>(Groups_GroupsChanged);\r
+ client.Groups.GroupJoinedReply += new EventHandler<GroupOperationEventArgs>(Groups_GroupsChanged);\r
client.Avatars.OnAvatarNames += new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);\r
mainForm.Load += new EventHandler(mainForm_Load);\r
{\r
if (client != null)\r
{\r
- client.Groups.OnCurrentGroups -= new GroupManager.CurrentGroupsCallback(Groups_OnCurrentGroups);\r
- client.Groups.OnGroupLeft -= new GroupManager.GroupLeftCallback(Groups_OnGroupLeft);\r
- client.Groups.OnGroupDropped -= new GroupManager.GroupDroppedCallback(Groups_OnGroupDropped);\r
- client.Groups.OnGroupJoined -= new GroupManager.GroupJoinedCallback(Groups_OnGroupJoined);\r
+ client.Groups.CurrentGroups -= new EventHandler<CurrentGroupsEventArgs>(Groups_CurrentGroups);\r
+ client.Groups.GroupLeaveReply -= new EventHandler<GroupOperationEventArgs>(Groups_GroupsChanged);\r
+ client.Groups.GroupDropped -= new EventHandler<GroupDroppedEventArgs>(Groups_GroupsChanged);\r
+ client.Groups.GroupJoinedReply -= new EventHandler<GroupOperationEventArgs>(Groups_GroupsChanged);\r
client.Avatars.OnAvatarNames -= new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
client.Network.OnConnected -= new NetworkManager.ConnectedCallback(Network_OnConnected);\r
}\r
}\r
}\r
\r
- void Groups_OnGroupJoined(UUID groupID, bool success)\r
- {\r
- client.Groups.RequestCurrentGroups();\r
- }\r
-\r
- void Groups_OnGroupLeft(UUID groupID, bool success)\r
- {\r
- client.Groups.RequestCurrentGroups();\r
- }\r
-\r
- void Groups_OnGroupDropped(UUID groupID)\r
+ void Groups_GroupsChanged(object sender, EventArgs e)\r
{\r
client.Groups.RequestCurrentGroups();\r
}\r
}\r
}\r
\r
- void Groups_OnCurrentGroups(Dictionary<UUID, Group> gr)\r
+ void Groups_CurrentGroups(object sender, CurrentGroupsEventArgs e)\r
{\r
- this.groups = gr;\r
+ this.groups = e.Groups;\r
}\r
\r
private void InitializeLoggingAndConfig()\r
lvwNoticeArchive.ListViewItemSorter = new GroupNoticeSorter();\r
\r
// Callbacks\r
- client.Groups.OnGroupTitles += new GroupManager.GroupTitlesCallback(Groups_OnGroupTitles);\r
- client.Groups.OnGroupMembers += new GroupManager.GroupMembersCallback(Groups_OnGroupMembers);\r
- client.Groups.OnGroupProfile += new GroupManager.GroupProfileCallback(Groups_OnGroupProfile);\r
- client.Groups.OnCurrentGroups += new GroupManager.CurrentGroupsCallback(Groups_OnCurrentGroups);\r
- client.Avatars.OnAvatarNames += new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
- client.Groups.OnGroupNoticesList += new GroupManager.GroupNoticesListCallback(Groups_OnGroupNoticesList);\r
+ client.Groups.GroupTitlesReply += new EventHandler<GroupTitlesReplyEventArgs>(Groups_GroupTitlesReply);\r
+ client.Groups.GroupMembersReply += new EventHandler<GroupMembersReplyEventArgs>(Groups_GroupMembersReply);\r
+ client.Groups.GroupProfile += new EventHandler<GroupProfileEventArgs>(Groups_GroupProfile);\r
+ client.Groups.CurrentGroups += new EventHandler<CurrentGroupsEventArgs>(Groups_CurrentGroups);\r
+ client.Groups.GroupNoticesListReply += new EventHandler<GroupNoticesListReplyEventArgs>(Groups_GroupNoticesListReply);\r
client.Self.IM += new EventHandler<InstantMessageEventArgs>(Self_IM);\r
+\r
+ client.Avatars.OnAvatarNames += new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
+\r
RefreshControlsAvailability();\r
RefreshGroupInfo();\r
}\r
\r
void GroupDetails_Disposed(object sender, EventArgs e)\r
{\r
- client.Groups.OnGroupTitles -= new GroupManager.GroupTitlesCallback(Groups_OnGroupTitles);\r
- client.Groups.OnGroupMembers -= new GroupManager.GroupMembersCallback(Groups_OnGroupMembers);\r
- client.Groups.OnGroupProfile -= new GroupManager.GroupProfileCallback(Groups_OnGroupProfile);\r
- client.Groups.OnCurrentGroups -= new GroupManager.CurrentGroupsCallback(Groups_OnCurrentGroups);\r
- client.Avatars.OnAvatarNames -= new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
- client.Groups.OnGroupNoticesList -= new GroupManager.GroupNoticesListCallback(Groups_OnGroupNoticesList);\r
+ client.Groups.GroupTitlesReply += new EventHandler<GroupTitlesReplyEventArgs>(Groups_GroupTitlesReply);\r
+ client.Groups.GroupMembersReply += new EventHandler<GroupMembersReplyEventArgs>(Groups_GroupMembersReply);\r
+ client.Groups.GroupProfile += new EventHandler<GroupProfileEventArgs>(Groups_GroupProfile);\r
+ client.Groups.CurrentGroups += new EventHandler<CurrentGroupsEventArgs>(Groups_CurrentGroups);\r
+ client.Groups.GroupNoticesListReply += new EventHandler<GroupNoticesListReplyEventArgs>(Groups_GroupNoticesListReply);\r
client.Self.IM -= new EventHandler<InstantMessageEventArgs>(Self_IM);\r
+\r
+ client.Avatars.OnAvatarNames -= new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
}\r
\r
#region Network callbacks\r
txtNotice.Text = text;\r
}\r
\r
- void Groups_OnGroupNoticesList(UUID groupID, GroupNoticeList notice)\r
+ void Groups_GroupNoticesListReply(object sender, GroupNoticesListReplyEventArgs e)\r
{\r
- if (groupID != group.ID) return;\r
+ if (e.GroupID != group.ID) return;\r
\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new MethodInvoker(() => Groups_OnGroupNoticesList(groupID, notice)));\r
+ BeginInvoke(new MethodInvoker(() => Groups_GroupNoticesListReply(sender, e)));\r
return;\r
}\r
\r
lvwNoticeArchive.BeginUpdate();\r
\r
ListViewItem item = new ListViewItem();\r
- item.SubItems.Add(notice.Subject);\r
- item.SubItems.Add(notice.FromName);\r
- item.SubItems.Add(Utils.UnixTimeToDateTime(notice.Timestamp).ToShortDateString());\r
+ item.SubItems.Add(e.Notices.Subject);\r
+ item.SubItems.Add(e.Notices.FromName);\r
+ item.SubItems.Add(Utils.UnixTimeToDateTime(e.Notices.Timestamp).ToShortDateString());\r
\r
- if (notice.HasAttachment)\r
+ if (e.Notices.HasAttachment)\r
{\r
- item.ImageIndex = InventoryConsole.GetItemImageIndex(notice.AssetType.ToString().ToLower());\r
+ item.ImageIndex = InventoryConsole.GetItemImageIndex(e.Notices.AssetType.ToString().ToLower());\r
}\r
\r
- item.Tag = notice;\r
+ item.Tag = e.Notices;\r
\r
lvwNoticeArchive.Items.Add(item);\r
\r
lvwNoticeArchive.EndUpdate();\r
}\r
\r
- void Groups_OnCurrentGroups(Dictionary<UUID, Group> groups)\r
+ void Groups_CurrentGroups(object sender, CurrentGroupsEventArgs e)\r
{\r
BeginInvoke(new MethodInvoker(RefreshControlsAvailability));\r
}\r
\r
- void Groups_OnGroupProfile(Group group)\r
+ void Groups_GroupProfile(object sender, GroupProfileEventArgs e)\r
{\r
+ Group group = e.Group;\r
+\r
if (group.ID != this.group.ID) return;\r
\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new MethodInvoker(delegate()\r
- {\r
- Groups_OnGroupProfile(group);\r
- }\r
- ));\r
+ BeginInvoke(new MethodInvoker(() => Groups_GroupProfile(sender, e)));\r
return;\r
}\r
\r
lvwGeneralMembers.EndUpdate();\r
}\r
\r
- void Groups_OnGroupTitles(UUID requestID, UUID groupID, Dictionary<UUID, GroupTitle> titles)\r
+ void Groups_GroupTitlesReply(object sender, GroupTitlesReplyEventArgs e)\r
{\r
- if (groupTitlesRequest != requestID) return;\r
+ if (groupTitlesRequest != e.RequestID) return;\r
\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new MethodInvoker(delegate()\r
- {\r
- Groups_OnGroupTitles(requestID, groupID, titles);\r
- }\r
- ));\r
+ BeginInvoke(new MethodInvoker(() => Groups_GroupTitlesReply(sender, e)));\r
return;\r
}\r
\r
- this.titles = titles;\r
+ this.titles = e.Titles;\r
\r
foreach (GroupTitle title in titles.Values)\r
{\r
cbxActiveTitle.SelectedIndexChanged += cbxActiveTitle_SelectedIndexChanged;\r
}\r
\r
- void Groups_OnGroupMembers(UUID requestID, UUID groupID, Dictionary<UUID, GroupMember> members)\r
+ void Groups_GroupMembersReply(object sender, GroupMembersReplyEventArgs e)\r
{\r
- if (groupMembersRequest != requestID) return;\r
+ if (groupMembersRequest != e.RequestID) return;\r
\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new MethodInvoker(delegate()\r
- {\r
- Groups_OnGroupMembers(requestID, groupID, members);\r
- }\r
- ));\r
+ BeginInvoke(new MethodInvoker(() => Groups_GroupMembersReply(sender, e)));\r
return;\r
}\r
\r
List<ListViewItem> newItems = new List<ListViewItem>();\r
List<UUID> unknownNames = new List<UUID>();\r
\r
- foreach (GroupMember baseMember in members.Values)\r
+ foreach (GroupMember baseMember in e.Members.Values)\r
{\r
EnhancedGroupMember member = new EnhancedGroupMember(baseMember);\r
string name;\r
private void RefreshGroupNotices()\r
{\r
lvwNoticeArchive.Items.Clear();\r
- client.Groups.RequestGroupNoticeList(group.ID);\r
+ client.Groups.RequestGroupNoticesList(group.ID);\r
}\r
\r
private void RefreshGroupInfo()\r