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

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

Issue 892393005: Implement browser-side host resolver Mojo service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@v8-pac-interfaces
Patch Set: Change static_library to source_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
« no previous file with comments | « net/dns/mojo_type_converters.h ('k') | net/interfaces/host_resolver_service.mojom » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/dns/mojo_type_converters.h"
6
7 #include "net/base/address_list.h"
8 #include "net/base/net_util.h"
9 #include "third_party/mojo/src/mojo/public/cpp/bindings/type_converter.h"
10
11 namespace mojo {
12
13 // static
14 net::HostResolver::RequestInfo
15 TypeConverter<net::HostResolver::RequestInfo,
16 net::interfaces::HostResolverRequestInfo>::
17 Convert(const net::interfaces::HostResolverRequestInfo& obj) {
18 net::HostResolver::RequestInfo result(net::HostPortPair(obj.host, obj.port));
19 result.set_address_family(
20 static_cast<net::AddressFamily>(obj.address_family));
21 return result;
22 }
23
24 // static
25 net::interfaces::AddressListPtr
26 TypeConverter<net::interfaces::AddressListPtr, net::AddressList>::Convert(
27 const net::AddressList& obj) {
28 net::interfaces::AddressListPtr result(net::interfaces::AddressList::New());
29 for (const auto& endpoint : obj) {
30 net::interfaces::IPEndPointPtr ep(net::interfaces::IPEndPoint::New());
31 ep->port = endpoint.port();
32 ep->address = mojo::Array<uint8_t>::From(endpoint.address());
33 result->addresses.push_back(ep.Pass());
34 }
35 return result.Pass();
36 }
37
38 // static
39 net::AddressList
40 TypeConverter<net::AddressList, net::interfaces::AddressList>::Convert(
41 const net::interfaces::AddressList& obj) {
42 net::AddressList address_list;
43 for (size_t i = 0; i < obj.addresses.size(); i++) {
44 const net::interfaces::IPEndPointPtr& ep = obj.addresses[i];
45 address_list.push_back(
46 net::IPEndPoint(ep->address.To<net::IPAddressNumber>(), ep->port));
47 }
48 return address_list;
49 }
50
51 } // namespace mojo
OLDNEW
« no previous file with comments | « net/dns/mojo_type_converters.h ('k') | net/interfaces/host_resolver_service.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698