From 53f19babdb997d3694ab40ea172d9071b2342e92 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 16 Apr 2009 16:32:01 +0000 Subject: [PATCH] Fixed the new CapsClient.GetResponse() to return OSD data (so it is actually useful) git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2612 52acb1d6-8a22-11de-b505-999d5b087335 --- OpenMetaverse.Http/CapsClient.cs | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/OpenMetaverse.Http/CapsClient.cs b/OpenMetaverse.Http/CapsClient.cs index f96e7e7d..7ba0f049 100644 --- a/OpenMetaverse.Http/CapsClient.cs +++ b/OpenMetaverse.Http/CapsClient.cs @@ -109,36 +109,44 @@ namespace OpenMetaverse.Http _Client.UploadDataAsync(_Client.Location, postData); } - public bool GetResponse(int millisecondsTimeout) + public OSD GetResponse(int millisecondsTimeout) { + OSD response = null; AutoResetEvent waitEvent = new AutoResetEvent(false); - OnComplete += delegate(CapsClient client, OSD result, Exception error) { waitEvent.Set(); }; + OnComplete += delegate(CapsClient client, OSD result, Exception error) { response = result; waitEvent.Set(); }; BeginGetResponse(); - return waitEvent.WaitOne(millisecondsTimeout, false); + waitEvent.WaitOne(millisecondsTimeout, false); + return response; } - public bool GetResponse(OSD data, int millisecondsTimeout) + public OSD GetResponse(OSD data, int millisecondsTimeout) { + OSD response = null; AutoResetEvent waitEvent = new AutoResetEvent(false); - OnComplete += delegate(CapsClient client, OSD result, Exception error) { waitEvent.Set(); }; + OnComplete += delegate(CapsClient client, OSD result, Exception error) { response = result; waitEvent.Set(); }; BeginGetResponse(data); - return waitEvent.WaitOne(millisecondsTimeout, false); + waitEvent.WaitOne(millisecondsTimeout, false); + return response; } - public bool GetResponse(byte[] postData, int millisecondsTimeout) + public OSD GetResponse(byte[] postData, int millisecondsTimeout) { + OSD response = null; AutoResetEvent waitEvent = new AutoResetEvent(false); - OnComplete += delegate(CapsClient client, OSD result, Exception error) { waitEvent.Set(); }; + OnComplete += delegate(CapsClient client, OSD result, Exception error) { response = result; waitEvent.Set(); }; BeginGetResponse(postData); - return waitEvent.WaitOne(millisecondsTimeout, false); + waitEvent.WaitOne(millisecondsTimeout, false); + return response; } - public bool GetResponse(byte[] postData, string contentType, int millisecondsTimeout) + public OSD GetResponse(byte[] postData, string contentType, int millisecondsTimeout) { + OSD response = null; AutoResetEvent waitEvent = new AutoResetEvent(false); - OnComplete += delegate(CapsClient client, OSD result, Exception error) { waitEvent.Set(); }; + OnComplete += delegate(CapsClient client, OSD result, Exception error) { response = result; waitEvent.Set(); }; BeginGetResponse(postData, contentType); - return waitEvent.WaitOne(millisecondsTimeout, false); + waitEvent.WaitOne(millisecondsTimeout, false); + return response; } public void Cancel()