Issue Details (XML | Word | Printable)

Key: LIBOMV-386
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: John Hurliman
Reporter: Robin Cornelius
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
libopenmetaverse

Return request ID from RequestGroup* functions so access to GroupCaches is possible by key

Created: 25/Sep/08 03:33 AM   Updated: 25/Sep/08 04:16 AM
Component/s: Other
Affects Version/s: None
Fix Version/s: 0.6.0

File Attachments: 1. Text File get_requestUUIDs_to_access_group_caches.patch (3 kB)


Environment: All
Fixed in Revision: 2240


 Description  « Hide
In GroupManager the 4 functions :-

RequestGroupTitles()
RequestGroupRoleMembers()
RequestGroupRoles()
RequestGroupMembers()

All use a UUID.random request ID which is used as the index key into the various group cache dictionary. If this UUID is returned from the above functions then the cache dictionaries can be used by client code to access the dictionaries by key and ensure the correct data is returned for the correct group.

I have tested basic functionally in my omvviewer-light and this seems to work nicely.

Simple client example :-

UUID request_roles_members = client.Groups.RequestGroupRoleMembers(group.ID);
UUID request_roles = client.Groups.RequestGroupRoles(group.ID);
....
....
Dictionary <UUID, GroupRole> grouproles;
List<KeyValuePair<UUID,UUID>> rolesmembers;
success=client.Groups.GroupRolesCaches.TryGetValue(request_roles, out grouproles);
success=client.Groups.GroupRolesMembersCaches.TryGetValue(request_roles_members, out rolesmembers);

Patch attached



 All   Comments   Change History   Subversion Commits   Patches      Sort Order: Ascending order - Click to sort in descending order
John Hurliman added a comment - 25/Sep/08 04:16 AM
Applied in r2240, thanks!