Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(526)

Side by Side Diff: net/proxy/mojo_type_converters.cc

Issue 896203003: Implement utility-side proxy resolver Mojo service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@proxy-diffbase
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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.
4
5 #include "net/proxy/mojo_type_converters.h"
6
7 #include "base/logging.h"
8 #include "net/base/host_port_pair.h"
9 #include "net/proxy/proxy_server.h"
10
11 namespace net {
12 namespace {
13
14 interfaces::ProxyScheme ProxySchemeToMojo(ProxyServer::Scheme scheme) {
15 switch (scheme) {
16 case ProxyServer::SCHEME_INVALID:
17 return interfaces::PROXY_SCHEME_INVALID;
18 case ProxyServer::SCHEME_DIRECT:
19 return interfaces::PROXY_SCHEME_DIRECT;
20 case ProxyServer::SCHEME_HTTP:
21 return interfaces::PROXY_SCHEME_HTTP;
22 case ProxyServer::SCHEME_SOCKS4:
23 return interfaces::PROXY_SCHEME_SOCKS4;
24 case ProxyServer::SCHEME_SOCKS5:
25 return interfaces::PROXY_SCHEME_SOCKS5;
26 case ProxyServer::SCHEME_HTTPS:
27 return interfaces::PROXY_SCHEME_HTTPS;
28 case ProxyServer::SCHEME_QUIC:
29 return interfaces::PROXY_SCHEME_QUIC;
30 default:
eroman 2015/02/12 22:51:30 How about omitting default, so will get compiler e
Sam McNally 2015/02/13 00:03:20 Done.
31 NOTREACHED();
32 }
33 return interfaces::PROXY_SCHEME_INVALID;
34 }
35
36 ProxyServer::Scheme ProxySchemeFromMojo(interfaces::ProxyScheme scheme) {
37 switch (scheme) {
38 case interfaces::PROXY_SCHEME_INVALID:
39 return ProxyServer::SCHEME_INVALID;
40 case interfaces::PROXY_SCHEME_DIRECT:
41 return ProxyServer::SCHEME_DIRECT;
42 case interfaces::PROXY_SCHEME_HTTP:
43 return ProxyServer::SCHEME_HTTP;
44 case interfaces::PROXY_SCHEME_SOCKS4:
45 return ProxyServer::SCHEME_SOCKS4;
46 case interfaces::PROXY_SCHEME_SOCKS5:
47 return ProxyServer::SCHEME_SOCKS5;
48 case interfaces::PROXY_SCHEME_HTTPS:
49 return ProxyServer::SCHEME_HTTPS;
50 case interfaces::PROXY_SCHEME_QUIC:
51 return ProxyServer::SCHEME_QUIC;
52 default:
eroman 2015/02/12 22:51:30 Same comment as above.
Sam McNally 2015/02/13 00:03:20 Done.
53 NOTREACHED();
54 }
55 return ProxyServer::SCHEME_INVALID;
56 }
57
58 } // namespace
59 } // namespace net
60
61 namespace mojo {
62
63 // static
64 net::interfaces::ProxyServerPtr
65 TypeConverter<net::interfaces::ProxyServerPtr, net::ProxyServer>::Convert(
66 const net::ProxyServer& obj) {
67 net::interfaces::ProxyServerPtr server(net::interfaces::ProxyServer::New());
68 server->scheme = net::ProxySchemeToMojo(obj.scheme());
69 if (server->scheme != net::interfaces::PROXY_SCHEME_DIRECT &&
70 server->scheme != net::interfaces::PROXY_SCHEME_INVALID) {
71 server->host = obj.host_port_pair().host();
72 server->port = obj.host_port_pair().port();
73 }
74 return server.Pass();
75 }
76
77 // static
78 net::ProxyServer
79 TypeConverter<net::ProxyServer, net::interfaces::ProxyServerPtr>::Convert(
80 const net::interfaces::ProxyServerPtr& obj) {
81 return net::ProxyServer(net::ProxySchemeFromMojo(obj->scheme),
82 net::HostPortPair(obj->host, obj->port));
83 }
84
85 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698