ozone: evdev: Sync caps lock LED state to evdev
[chromium-blink-merge.git] / net / proxy / mojo_proxy_resolver_factory_impl.h
blob5b1bb1a437be424b0aa6a3a04b40f663a2805030
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
3 // found in the LICENSE file.
5 #ifndef NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_IMPL_H_
6 #define NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_IMPL_H_
8 #include "base/callback.h"
9 #include "net/interfaces/proxy_resolver_service.mojom.h"
10 #include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h"
12 namespace net {
13 class HostResolver;
14 class ProxyResolver;
16 class MojoProxyResolverFactoryImpl : public interfaces::ProxyResolverFactory {
17 public:
18 using Factory = base::Callback<scoped_ptr<ProxyResolver>(HostResolver*)>;
20 explicit MojoProxyResolverFactoryImpl(
21 mojo::InterfaceRequest<interfaces::ProxyResolverFactory> request);
22 MojoProxyResolverFactoryImpl(
23 const Factory& proxy_resolver_factory,
24 mojo::InterfaceRequest<interfaces::ProxyResolverFactory> request);
26 ~MojoProxyResolverFactoryImpl() override;
28 private:
29 // interfaces::ProxyResolverFactory override.
30 void CreateResolver(mojo::InterfaceRequest<interfaces::ProxyResolver> request,
31 interfaces::HostResolverPtr host_resolver) override;
33 const Factory proxy_resolver_impl_factory_;
34 mojo::StrongBinding<interfaces::ProxyResolverFactory> binding_;
36 DISALLOW_COPY_AND_ASSIGN(MojoProxyResolverFactoryImpl);
39 } // namespace net
41 #endif // NET_PROXY_MOJO_PROXY_RESOLVER_FACTORY_IMPL_H_