OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "chrome/browser/extensions/api/dial/dial_service.h" | 5 #include "chrome/browser/extensions/api/dial/dial_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 kDialResponseTimeoutSecs, | 98 kDialResponseTimeoutSecs, |
99 kDialSearchType, | 99 kDialSearchType, |
100 version.Name().c_str(), | 100 version.Name().c_str(), |
101 version.Version().c_str(), | 101 version.Version().c_str(), |
102 version.OSType().c_str())); | 102 version.OSType().c_str())); |
103 // 1500 is a good MTU value for most Ethernet LANs. | 103 // 1500 is a good MTU value for most Ethernet LANs. |
104 DCHECK(request.size() <= 1500); | 104 DCHECK(request.size() <= 1500); |
105 return request; | 105 return request; |
106 } | 106 } |
107 | 107 |
| 108 #if !defined(OS_CHROMEOS) |
108 void GetNetworkListOnFileThread( | 109 void GetNetworkListOnFileThread( |
109 const scoped_refptr<base::MessageLoopProxy>& loop, | 110 const scoped_refptr<base::MessageLoopProxy>& loop, |
110 const base::Callback<void(const NetworkInterfaceList& networks)>& cb) { | 111 const base::Callback<void(const NetworkInterfaceList& networks)>& cb) { |
111 NetworkInterfaceList list; | 112 NetworkInterfaceList list; |
112 bool success = net::GetNetworkList(&list); | 113 bool success = net::GetNetworkList(&list); |
113 if (!success) | 114 if (!success) |
114 DVLOG(1) << "Could not retrieve network list!"; | 115 DVLOG(1) << "Could not retrieve network list!"; |
115 | 116 |
116 loop->PostTask(FROM_HERE, base::Bind(cb, list)); | 117 loop->PostTask(FROM_HERE, base::Bind(cb, list)); |
117 } | 118 } |
118 | 119 |
119 #if defined(OS_CHROMEOS) | 120 #else |
| 121 |
120 IPAddressNumber GetBestBindAddressByType( | 122 IPAddressNumber GetBestBindAddressByType( |
121 const chromeos::NetworkTypePattern& type) { | 123 const chromeos::NetworkTypePattern& type) { |
122 const chromeos::NetworkState* state = chromeos::NetworkHandler::Get() | 124 const chromeos::NetworkState* state = chromeos::NetworkHandler::Get() |
123 ->network_state_handler()->ConnectedNetworkByType(type); | 125 ->network_state_handler()->ConnectedNetworkByType(type); |
124 IPAddressNumber bind_ip_address; | 126 IPAddressNumber bind_ip_address; |
125 if (!state || | 127 if (!state || |
126 !net::ParseIPLiteralToNumber(state->ip_address(), &bind_ip_address)) { | 128 !net::ParseIPLiteralToNumber(state->ip_address(), &bind_ip_address)) { |
127 return IPAddressNumber(); | 129 return IPAddressNumber(); |
128 } | 130 } |
129 if (bind_ip_address.size() != net::kIPv4AddressSize) { | 131 if (bind_ip_address.size() != net::kIPv4AddressSize) { |
(...skipping 10 matching lines...) Expand all Loading... |
140 // ChromeOS version can prioritize wifi and ethernet interfaces. | 142 // ChromeOS version can prioritize wifi and ethernet interfaces. |
141 IPAddressNumber GetBestBindAddressChromeOS() { | 143 IPAddressNumber GetBestBindAddressChromeOS() { |
142 IPAddressNumber bind_ip_address = | 144 IPAddressNumber bind_ip_address = |
143 GetBestBindAddressByType(chromeos::NetworkTypePattern::Ethernet()); | 145 GetBestBindAddressByType(chromeos::NetworkTypePattern::Ethernet()); |
144 if (bind_ip_address.empty()) { | 146 if (bind_ip_address.empty()) { |
145 bind_ip_address = | 147 bind_ip_address = |
146 GetBestBindAddressByType(chromeos::NetworkTypePattern::WiFi()); | 148 GetBestBindAddressByType(chromeos::NetworkTypePattern::WiFi()); |
147 } | 149 } |
148 return bind_ip_address; | 150 return bind_ip_address; |
149 } | 151 } |
150 #endif | 152 #endif // !defined(OS_CHROMEOS) |
151 | 153 |
152 } // namespace | 154 } // namespace |
153 | 155 |
154 DialServiceImpl::DialServiceImpl(net::NetLog* net_log) | 156 DialServiceImpl::DialServiceImpl(net::NetLog* net_log) |
155 : is_writing_(false), | 157 : is_writing_(false), |
156 is_reading_(false), | 158 is_reading_(false), |
157 discovery_active_(false), | 159 discovery_active_(false), |
158 num_requests_sent_(0), | 160 num_requests_sent_(0), |
159 max_requests_(kDialMaxRequests), | 161 max_requests_(kDialMaxRequests), |
160 finish_delay_(TimeDelta::FromMilliseconds((kDialMaxRequests - 1) * | 162 finish_delay_(TimeDelta::FromMilliseconds((kDialMaxRequests - 1) * |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 DVLOG(0) << "dial socket error: " << error_str; | 492 DVLOG(0) << "dial socket error: " << error_str; |
491 // TODO(justinlin): More granular socket errors. | 493 // TODO(justinlin): More granular socket errors. |
492 FOR_EACH_OBSERVER( | 494 FOR_EACH_OBSERVER( |
493 Observer, observer_list_, OnError(this, DIAL_SERVICE_SOCKET_ERROR)); | 495 Observer, observer_list_, OnError(this, DIAL_SERVICE_SOCKET_ERROR)); |
494 return false; | 496 return false; |
495 } | 497 } |
496 return true; | 498 return true; |
497 } | 499 } |
498 | 500 |
499 } // namespace extensions | 501 } // namespace extensions |
OLD | NEW |