| Index: net/proxy/proxy_service.h
|
| ===================================================================
|
| --- net/proxy/proxy_service.h (revision 8931)
|
| +++ net/proxy/proxy_service.h (working copy)
|
| @@ -13,6 +13,7 @@
|
| #include "base/string_util.h"
|
| #include "base/thread.h"
|
| #include "base/time.h"
|
| +#include "base/waitable_event.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "net/base/completion_callback.h"
|
|
|
| @@ -312,6 +313,31 @@
|
| ProxyInfo* results) = 0;
|
| };
|
|
|
| +// Wrapper for invoking methods on a ProxyService synchronously.
|
| +class SyncProxyServiceHelper
|
| + : public base::RefCountedThreadSafe<SyncProxyServiceHelper> {
|
| + public:
|
| + SyncProxyServiceHelper(MessageLoop* io_message_loop,
|
| + ProxyService* proxy_service);
|
| +
|
| + int ResolveProxy(const GURL& url, ProxyInfo* proxy_info);
|
| + int ReconsiderProxyAfterError(const GURL& url, ProxyInfo* proxy_info);
|
| +
|
| + private:
|
| + void StartAsyncResolve(const GURL& url);
|
| + void StartAsyncReconsider(const GURL& url);
|
| +
|
| + void OnCompletion(int result);
|
| +
|
| + MessageLoop* io_message_loop_;
|
| + ProxyService* proxy_service_;
|
| +
|
| + base::WaitableEvent event_;
|
| + CompletionCallbackImpl<SyncProxyServiceHelper> callback_;
|
| + ProxyInfo proxy_info_;
|
| + int result_;
|
| +};
|
| +
|
| } // namespace net
|
|
|
| #endif // NET_PROXY_PROXY_SERVICE_H_
|
|
|