1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_PROXY_PROXY_RESOLVER_MAC_H_ 6 #define NET_PROXY_PROXY_RESOLVER_MAC_H_ 7 8 #include "base/compiler_specific.h" 9 #include "net/base/net_errors.h" 10 #include "net/base/net_export.h" 11 #include "net/proxy/proxy_resolver.h" 12 #include "url/gurl.h" 13 14 namespace net { 15 16 // Implementation of ProxyResolver that uses the Mac CFProxySupport to implement 17 // proxies. 18 class NET_EXPORT ProxyResolverMac : public ProxyResolver { 19 public: 20 ProxyResolverMac(); 21 virtual ~ProxyResolverMac(); 22 23 // ProxyResolver methods: 24 virtual int GetProxyForURL(const GURL& url, 25 ProxyInfo* results, 26 const net::CompletionCallback& callback, 27 RequestHandle* request, 28 const BoundNetLog& net_log) OVERRIDE; 29 30 virtual void CancelRequest(RequestHandle request) OVERRIDE; 31 32 virtual LoadState GetLoadState(RequestHandle request) const OVERRIDE; 33 34 virtual void CancelSetPacScript() OVERRIDE; 35 36 virtual int SetPacScript( 37 const scoped_refptr<ProxyResolverScriptData>& script_data, 38 const net::CompletionCallback& /*callback*/) OVERRIDE; 39 40 private: 41 scoped_refptr<ProxyResolverScriptData> script_data_; 42 }; 43 44 } // namespace net 45 46 #endif // NET_PROXY_PROXY_RESOLVER_MAC_H_ 47