proxy_resolver_mac.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  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. #ifndef NET_PROXY_RESOLUTION_PROXY_RESOLVER_MAC_H_
  5. #define NET_PROXY_RESOLUTION_PROXY_RESOLVER_MAC_H_
  6. #include "base/compiler_specific.h"
  7. #include "net/base/completion_once_callback.h"
  8. #include "net/base/net_export.h"
  9. #include "net/proxy_resolution/proxy_resolver_factory.h"
  10. #include "url/gurl.h"
  11. namespace net {
  12. // Implementation of ProxyResolverFactory that uses the Mac CFProxySupport to
  13. // implement proxies.
  14. // TODO(kapishnikov): make ProxyResolverMac async as per
  15. // https://bugs.chromium.org/p/chromium/issues/detail?id=166387#c95
  16. class NET_EXPORT ProxyResolverFactoryMac : public ProxyResolverFactory {
  17. public:
  18. ProxyResolverFactoryMac();
  19. ProxyResolverFactoryMac(const ProxyResolverFactoryMac&) = delete;
  20. ProxyResolverFactoryMac& operator=(const ProxyResolverFactoryMac&) = delete;
  21. int CreateProxyResolver(const scoped_refptr<PacFileData>& pac_script,
  22. std::unique_ptr<ProxyResolver>* resolver,
  23. CompletionOnceCallback callback,
  24. std::unique_ptr<Request>* request) override;
  25. };
  26. } // namespace net
  27. #endif // NET_PROXY_RESOLUTION_PROXY_RESOLVER_MAC_H_