From 871fa27f37b370d651563d78308c891b337b6342 Mon Sep 17 00:00:00 2001 From: "darin%meer.net" Date: Wed, 22 Feb 2006 16:12:41 +0000 Subject: [PATCH] port webservices git-svn-id: svn://10.0.0.236/branches/THREADS_20060213_BRANCH@190836 18797224-902f-48f8-a5cc-f745e15eee43 --- .../webservices/security/src/nsWSAUtils.cpp | 36 ++++--------------- .../webservices/security/src/nsWSAUtils.h | 1 - 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/mozilla/extensions/webservices/security/src/nsWSAUtils.cpp b/mozilla/extensions/webservices/security/src/nsWSAUtils.cpp index 75b46d8332e..adc5d7b27ce 100755 --- a/mozilla/extensions/webservices/security/src/nsWSAUtils.cpp +++ b/mozilla/extensions/webservices/security/src/nsWSAUtils.cpp @@ -45,14 +45,12 @@ #include "nsIDNSRecord.h" #include "nsICancelable.h" #include "nsIRequest.h" -#include "nsEventQueueUtils.h" +#include "nsThreadUtils.h" #include "nsAutoPtr.h" #include "nsNetCID.h" static const char kSecurityProperties[] = "chrome://global/locale/webservices/security.properties"; -static NS_DEFINE_CID(kDNSServiceCID, NS_DNSSERVICE_CID); -static NS_DEFINE_CID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID); class nsDNSListener : public nsIDNSListener { @@ -228,7 +226,7 @@ nsWSAUtils::GetOfficialHostName(nsIURI* aServiceURI, return NS_ERROR_NULL_POINTER; nsresult rv; - nsCOMPtr dns(do_GetService(kDNSServiceCID, &rv)); + nsCOMPtr dns(do_GetService(NS_DNSSERVICE_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; @@ -239,36 +237,17 @@ nsWSAUtils::GetOfficialHostName(nsIURI* aServiceURI, nsRefPtr listener = new nsDNSListener(); NS_ENSURE_TRUE(listener, NS_ERROR_OUT_OF_MEMORY); - nsCOMPtr eventQService = - do_GetService(kEventQueueServiceCID, &rv); - - if (NS_FAILED(rv)) - return rv; - - nsCOMPtr eventQ; - rv = eventQService->PushThreadEventQueue(getter_AddRefs(eventQ)); - - if (NS_FAILED(rv)) - return rv; + nsCOMPtr thread = do_GetCurrentThread(); + NS_ENSURE_STATE(thread); nsCOMPtr dummy; rv = dns->AsyncResolve(host, nsIDNSService::RESOLVE_CANONICAL_NAME, - listener, eventQ, getter_AddRefs(dummy)); + listener, thread, getter_AddRefs(dummy)); - PLEvent *ev; - while (NS_SUCCEEDED(rv) && !listener->mLookupFinished) { - rv = eventQ->WaitForEvent(&ev); - NS_ASSERTION(NS_SUCCEEDED(rv), "WaitForEvent failed"); - if (NS_SUCCEEDED(rv)) { - rv = eventQ->HandleEvent(ev); - NS_ASSERTION(NS_SUCCEEDED(rv), "HandleEvent failed"); - } - } + while (NS_SUCCEEDED(rv) && !listener->mLookupFinished) + rv = thread->RunNextTask(nsIThread::RUN_NORMAL); aResult.Assign(listener->mOfficialHostName); - - eventQService->PopThreadEventQueue(eventQ); - return rv; } @@ -295,4 +274,3 @@ nsDNSListener::OnLookupComplete(nsICancelable* aRequest, mLookupFinished = PR_TRUE; return NS_OK; } - diff --git a/mozilla/extensions/webservices/security/src/nsWSAUtils.h b/mozilla/extensions/webservices/security/src/nsWSAUtils.h index 8d9896d384e..5829f97997c 100755 --- a/mozilla/extensions/webservices/security/src/nsWSAUtils.h +++ b/mozilla/extensions/webservices/security/src/nsWSAUtils.h @@ -39,7 +39,6 @@ #define nsWSAUtils_h__ #include "nsIDNSListener.h" -#include "nsIEventQueueService.h" #include "nsIURI.h" #include "nsCOMPtr.h" #include "nsString.h"