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

Side by Side Diff: chromeos/network/network_connection_handler_impl.cc

Issue 2858943003: [CrOS Tether] Add disconnect handling to NetworkConnectionHandler::TetherDelegate. (Closed)
Patch Set: Rebased. Created 3 years, 7 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
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "chromeos/network/network_connection_handler_impl.h" 5 #include "chromeos/network/network_connection_handler_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/json/json_reader.h" 8 #include "base/json/json_reader.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 } 234 }
235 235
236 if (NetworkTypePattern::Tether().MatchesType(network->type())) { 236 if (NetworkTypePattern::Tether().MatchesType(network->type())) {
237 if (tether_delegate_) { 237 if (tether_delegate_) {
238 const std::string& tether_network_guid = network->guid(); 238 const std::string& tether_network_guid = network->guid();
239 DCHECK(!tether_network_guid.empty()); 239 DCHECK(!tether_network_guid.empty());
240 InitiateTetherNetworkConnection(tether_network_guid, success_callback, 240 InitiateTetherNetworkConnection(tether_network_guid, success_callback,
241 error_callback); 241 error_callback);
242 } else { 242 } else {
243 InvokeConnectErrorCallback(service_path, error_callback, 243 InvokeConnectErrorCallback(service_path, error_callback,
244 kErrorTetherConnectionAttemptWithNoDelegate); 244 kErrorTetherAttemptWithNoDelegate);
245 } 245 }
246 return; 246 return;
247 } 247 }
248 } 248 }
249 249
250 // If the network does not have a profile path, specify the correct default 250 // If the network does not have a profile path, specify the correct default
251 // profile here and set it once connected. Otherwise leave it empty to 251 // profile here and set it once connected. Otherwise leave it empty to
252 // indicate that it does not need to be set. 252 // indicate that it does not need to be set.
253 std::string profile_path; 253 std::string profile_path;
254 if (!network || network->profile_path().empty()) 254 if (!network || network->profile_path().empty())
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 network_handler::RunErrorCallback(error_callback, service_path, 298 network_handler::RunErrorCallback(error_callback, service_path,
299 kErrorNotFound, ""); 299 kErrorNotFound, "");
300 return; 300 return;
301 } 301 }
302 if (!network->IsConnectedState() && !network->IsConnectingState()) { 302 if (!network->IsConnectedState() && !network->IsConnectingState()) {
303 NET_LOG_ERROR("Disconnect Error: Not Connected", service_path); 303 NET_LOG_ERROR("Disconnect Error: Not Connected", service_path);
304 network_handler::RunErrorCallback(error_callback, service_path, 304 network_handler::RunErrorCallback(error_callback, service_path,
305 kErrorNotConnected, ""); 305 kErrorNotConnected, "");
306 return; 306 return;
307 } 307 }
308 if (NetworkTypePattern::Tether().MatchesType(network->type())) {
309 if (tether_delegate_) {
310 const std::string& tether_network_guid = network->guid();
311 DCHECK(!tether_network_guid.empty());
312 InitiateTetherNetworkDisconnection(tether_network_guid, success_callback,
313 error_callback);
314 } else {
315 InvokeConnectErrorCallback(service_path, error_callback,
316 kErrorTetherAttemptWithNoDelegate);
317 }
318 return;
319 }
308 pending_requests_.erase(service_path); 320 pending_requests_.erase(service_path);
309 CallShillDisconnect(service_path, success_callback, error_callback); 321 CallShillDisconnect(service_path, success_callback, error_callback);
310 } 322 }
311 323
312 bool NetworkConnectionHandlerImpl::HasConnectingNetwork( 324 bool NetworkConnectionHandlerImpl::HasConnectingNetwork(
313 const std::string& service_path) { 325 const std::string& service_path) {
314 return pending_requests_.count(service_path) != 0; 326 return pending_requests_.count(service_path) != 0;
315 } 327 }
316 328
317 bool NetworkConnectionHandlerImpl::HasPendingConnectRequest() { 329 bool NetworkConnectionHandlerImpl::HasPendingConnectRequest() {
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 778
767 void NetworkConnectionHandlerImpl::HandleShillDisconnectSuccess( 779 void NetworkConnectionHandlerImpl::HandleShillDisconnectSuccess(
768 const std::string& service_path, 780 const std::string& service_path,
769 const base::Closure& success_callback) { 781 const base::Closure& success_callback) {
770 NET_LOG_EVENT("Disconnect Request Sent", service_path); 782 NET_LOG_EVENT("Disconnect Request Sent", service_path);
771 if (!success_callback.is_null()) 783 if (!success_callback.is_null())
772 success_callback.Run(); 784 success_callback.Run();
773 } 785 }
774 786
775 } // namespace chromeos 787 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/network_connection_handler.cc ('k') | chromeos/network/network_connection_handler_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698