From f363e1f3648879b65936ca1cdfb0a7edcb8f145a Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Tue, 30 Jun 2009 21:37:35 +0000 Subject: [PATCH] LIBOMV-613 Back out part of the previous commit, partial lists not feasable with current GroupManger infrastructure git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2940 52acb1d6-8a22-11de-b505-999d5b087335 --- OpenMetaverse/GroupManager.cs | 21 ++++++++----------- Programs/examples/TestClient/TestClient.cs | 5 ++--- .../examples/groupmanager/frmGroupInfo.cs | 3 +-- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/OpenMetaverse/GroupManager.cs b/OpenMetaverse/GroupManager.cs index 60bed95c..c3569b80 100644 --- a/OpenMetaverse/GroupManager.cs +++ b/OpenMetaverse/GroupManager.cs @@ -451,29 +451,26 @@ namespace OpenMetaverse /// /// returned by RequestGroupMembers /// of the group - /// Total number of members in the group /// A dictionary containing the members of a group /// where key is member and value is struct - public delegate void GroupMembersCallback(UUID requestID, UUID groupID, int memberCount, Dictionary members); + public delegate void GroupMembersCallback(UUID requestID, UUID groupID, Dictionary members); /// /// Callback for retrieving group roles /// /// of the request returned from RequestGroupRoles /// of the group - /// Total number of roles defined in the group /// A dictionary containing role s as the key /// and structs as values - public delegate void GroupRolesCallback(UUID requestID, UUID groupID, int roleCount, Dictionary roles); + public delegate void GroupRolesCallback(UUID requestID, UUID groupID, Dictionary roles); /// /// Callback for a pairing of roles to members /// /// of the request returned from RequestGroupRolesMembers /// of the group - /// Total number of role/member mappings /// List containing role/member pairs - public delegate void GroupRolesMembersCallback(UUID requestID, UUID groupID, uint totalPairs, List> rolesMembers); + public delegate void GroupRolesMembersCallback(UUID requestID, UUID groupID, List> rolesMembers); /// /// Callback for the title list of a group @@ -1274,9 +1271,9 @@ namespace OpenMetaverse } } - if (OnGroupMembers != null && groupMemberCache != null) + if (OnGroupMembers != null && groupMemberCache != null && groupMemberCache.Count >= members.GroupData.MemberCount) { - try { OnGroupMembers(members.GroupData.RequestID, members.GroupData.GroupID, members.GroupData.MemberCount, groupMemberCache); } + try { OnGroupMembers(members.GroupData.RequestID, members.GroupData.GroupID, groupMemberCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } @@ -1324,9 +1321,9 @@ namespace OpenMetaverse } } - if (OnGroupRoles != null && groupRoleCache != null) + if (OnGroupRoles != null && groupRoleCache != null && groupRoleCache.Count >= roles.GroupData.RoleCount) { - try { OnGroupRoles(roles.GroupData.RequestID, roles.GroupData.GroupID, roles.GroupData.RoleCount, groupRoleCache); } + try { OnGroupRoles(roles.GroupData.RequestID, roles.GroupData.GroupID, groupRoleCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } @@ -1373,9 +1370,9 @@ namespace OpenMetaverse Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } - if (OnGroupRolesMembers != null && groupRoleMemberCache != null) + if (OnGroupRolesMembers != null && groupRoleMemberCache != null && groupRoleMemberCache.Count >= members.AgentData.TotalPairs) { - try { OnGroupRolesMembers(members.AgentData.RequestID, members.AgentData.GroupID, members.AgentData.TotalPairs, groupRoleMemberCache); } + try { OnGroupRolesMembers(members.AgentData.RequestID, members.AgentData.GroupID, groupRoleMemberCache); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } } diff --git a/Programs/examples/TestClient/TestClient.cs b/Programs/examples/TestClient/TestClient.cs index 42a45fb5..08d57c3a 100644 --- a/Programs/examples/TestClient/TestClient.cs +++ b/Programs/examples/TestClient/TestClient.cs @@ -122,10 +122,9 @@ namespace OpenMetaverse.TestClient } } - private void GroupMembersHandler(UUID requestID, UUID groupID, int memberCount, Dictionary members) + private void GroupMembersHandler(UUID requestID, UUID groupID, Dictionary members) { - // Check for partial result, or result we didn't request - if (requestID != GroupMembersRequestID || memberCount > members.Count) return; + if (requestID != GroupMembersRequestID) return; GroupMembers = members; } diff --git a/Programs/examples/groupmanager/frmGroupInfo.cs b/Programs/examples/groupmanager/frmGroupInfo.cs index 396fa16e..638dcb90 100644 --- a/Programs/examples/groupmanager/frmGroupInfo.cs +++ b/Programs/examples/groupmanager/frmGroupInfo.cs @@ -212,9 +212,8 @@ namespace groupmanager } } - private void GroupMembersHandler(UUID requestID, UUID groupID, int memberCount, Dictionary members) + private void GroupMembersHandler(UUID requestID, UUID groupID, Dictionary members) { - if (memberCount > members.Count) return; // Partail result Members = members; UpdateMembers();