LIBOMV-686 Implements new event patterns based on the Microsoft Framework Design Guidelines in ParcelManager

* Changes some public method names to match patterns used through library, namely requests that have an event are named with Request as a prefix
* Add Key2Name TestClient command for resolving group and avatar names based on a UUID
* BREAKING CHANGE * this is a major shift in the way events are internally handled.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3151 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
Jim Radford
2009-10-17 05:50:51 +00:00
parent 7870cfb75f
commit e09e3f45b3
13 changed files with 737 additions and 328 deletions

View File

@@ -30,30 +30,31 @@ namespace OpenMetaverse.TestClient
&& UUID.TryParse(args[1], out ownerUUID))
{
AutoResetEvent wait = new AutoResetEvent(false);
ParcelManager.ForceSelectObjects callback = delegate(Simulator simulator, List<uint> objectIDs, bool resetList)
EventHandler<ForceSelectObjectsReplyEventArgs> callback = delegate(object sender, ForceSelectObjectsReplyEventArgs e)
{
//result.AppendLine("New List: " + resetList.ToString());
for(int i = 0; i < objectIDs.Count; i++)
for (int i = 0; i < e.ObjectIDs.Count; i++)
{
result.Append(objectIDs[i].ToString() + " ");
result.Append(e.ObjectIDs[i].ToString() + " ");
counter++;
}
//result.AppendLine("Got " + objectIDs.Count.ToString() + " Objects in packet");
if(objectIDs.Count < 251)
if (e.ObjectIDs.Count < 251)
wait.Set();
};
Client.Parcels.OnParcelSelectedObjects += callback;
Client.Parcels.SelectObjects(parcelID, (ObjectReturnType)16, ownerUUID);
Client.Parcels.ObjectOwnersRequest(Client.Network.CurrentSim, parcelID);
Client.Parcels.ForceSelectObjectsReply += callback;
Client.Parcels.RequestSelectObjects(parcelID, (ObjectReturnType)16, ownerUUID);
Client.Parcels.RequestObjectOwners(Client.Network.CurrentSim, parcelID);
if (!wait.WaitOne(30000, false))
{
result.AppendLine("Timed out waiting for packet.");
}
Client.Parcels.OnParcelSelectedObjects -= callback;
Client.Parcels.ForceSelectObjectsReply -= callback;
result.AppendLine("Found a total of " + counter + " Objects");
return result.ToString();
}