// Copyright 2011 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_PROXY_RESOLUTION_PROXY_RESOLVER_APPLE_H_ #define NET_PROXY_RESOLUTION_PROXY_RESOLVER_APPLE_H_ #include "base/compiler_specific.h" #include "net/base/completion_once_callback.h" #include "net/base/net_export.h" #include "net/proxy_resolution/proxy_resolver_factory.h" #include "url/gurl.h" namespace net { // Implementation of ProxyResolverFactory that uses the Apple CFProxySupport to // implement proxies. // TODO(kapishnikov): make ProxyResolverApple async as per // https://bugs.chromium.org/p/chromium/issues/detail?id=166387#c95 class NET_EXPORT ProxyResolverFactoryApple : public ProxyResolverFactory { public: ProxyResolverFactoryApple(); ProxyResolverFactoryApple(const ProxyResolverFactoryApple&) = delete; ProxyResolverFactoryApple& operator=(const ProxyResolverFactoryApple&) = delete; int CreateProxyResolver(const scoped_refptr& pac_script, std::unique_ptr* resolver, CompletionOnceCallback callback, std::unique_ptr* request) override; }; } // namespace net #endif // NET_PROXY_RESOLUTION_PROXY_RESOLVER_APPLE_H_