OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ | 5 #ifndef NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ |
6 #define NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ | 6 #define NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ |
7 | 7 |
8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "mojo/public/cpp/bindings/interface_request.h" |
10 #include "net/interfaces/host_resolver_service.mojom.h" | 11 #include "net/interfaces/host_resolver_service.mojom.h" |
11 #include "net/interfaces/proxy_resolver_service.mojom.h" | 12 #include "net/interfaces/proxy_resolver_service.mojom.h" |
12 #include "third_party/mojo/src/mojo/public/cpp/bindings/interface_request.h" | |
13 | 13 |
14 namespace net { | 14 namespace net { |
15 | 15 |
16 // Factory for connecting to Mojo ProxyResolver services. | 16 // Factory for connecting to Mojo ProxyResolver services. |
17 class MojoProxyResolverFactory { | 17 class MojoProxyResolverFactory { |
18 public: | 18 public: |
19 // Connect to a new ProxyResolver service using request |req|, using | 19 // Connect to a new ProxyResolver service using request |req|, using |
20 // |host_resolver| as the DNS resolver. The return value should be released | 20 // |host_resolver| as the DNS resolver. The return value should be released |
21 // when the connection to |req| is no longer needed. | 21 // when the connection to |req| is no longer needed. |
22 // Note: The connection request |req| may be resolved asynchronously. | 22 // Note: The connection request |req| may be resolved asynchronously. |
23 virtual scoped_ptr<base::ScopedClosureRunner> CreateResolver( | 23 virtual scoped_ptr<base::ScopedClosureRunner> CreateResolver( |
24 const mojo::String& pac_script, | 24 const mojo::String& pac_script, |
25 mojo::InterfaceRequest<interfaces::ProxyResolver> req, | 25 mojo::InterfaceRequest<interfaces::ProxyResolver> req, |
26 interfaces::ProxyResolverFactoryRequestClientPtr client) = 0; | 26 interfaces::ProxyResolverFactoryRequestClientPtr client) = 0; |
27 | 27 |
28 protected: | 28 protected: |
29 virtual ~MojoProxyResolverFactory() = default; | 29 virtual ~MojoProxyResolverFactory() = default; |
30 }; | 30 }; |
31 | 31 |
32 } // namespace net | 32 } // namespace net |
33 | 33 |
34 #endif // NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ | 34 #endif // NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_H_ |
OLD | NEW |