| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/components/tether/tether_network_disconnection_handler.h" | 5 #include "chromeos/components/tether/tether_network_disconnection_handler.h" |
| 6 | 6 |
| 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" |
| 9 #include "base/macros.h" |
| 7 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| 11 #include "chromeos/components/tether/network_configuration_remover.h" |
| 8 #include "chromeos/network/network_handler.h" | 12 #include "chromeos/network/network_handler.h" |
| 9 #include "chromeos/network/network_state.h" | 13 #include "chromeos/network/network_state.h" |
| 10 #include "chromeos/network/network_state_handler.h" | 14 #include "chromeos/network/network_state_handler.h" |
| 11 #include "components/proximity_auth/logging/logging.h" | 15 #include "components/proximity_auth/logging/logging.h" |
| 12 | 16 |
| 13 namespace chromeos { | 17 namespace chromeos { |
| 14 | 18 |
| 15 namespace tether { | 19 namespace tether { |
| 16 | 20 |
| 17 TetherNetworkDisconnectionHandler::TetherNetworkDisconnectionHandler( | 21 TetherNetworkDisconnectionHandler::TetherNetworkDisconnectionHandler( |
| 18 ActiveHost* active_host) | |
| 19 : TetherNetworkDisconnectionHandler( | |
| 20 active_host, | |
| 21 NetworkHandler::Get()->network_state_handler()) {} | |
| 22 | |
| 23 TetherNetworkDisconnectionHandler::TetherNetworkDisconnectionHandler( | |
| 24 ActiveHost* active_host, | 22 ActiveHost* active_host, |
| 25 NetworkStateHandler* network_state_handler) | 23 NetworkStateHandler* network_state_handler, |
| 26 : active_host_(active_host), network_state_handler_(network_state_handler) { | 24 NetworkConfigurationRemover* network_configuration_remover) |
| 25 : active_host_(active_host), |
| 26 network_state_handler_(network_state_handler), |
| 27 network_configuration_remover_(network_configuration_remover) { |
| 27 network_state_handler_->AddObserver(this, FROM_HERE); | 28 network_state_handler_->AddObserver(this, FROM_HERE); |
| 28 } | 29 } |
| 29 | 30 |
| 30 TetherNetworkDisconnectionHandler::~TetherNetworkDisconnectionHandler() { | 31 TetherNetworkDisconnectionHandler::~TetherNetworkDisconnectionHandler() { |
| 31 network_state_handler_->RemoveObserver(this, FROM_HERE); | 32 network_state_handler_->RemoveObserver(this, FROM_HERE); |
| 32 } | 33 } |
| 33 | 34 |
| 34 void TetherNetworkDisconnectionHandler::NetworkConnectionStateChanged( | 35 void TetherNetworkDisconnectionHandler::NetworkConnectionStateChanged( |
| 35 const NetworkState* network) { | 36 const NetworkState* network) { |
| 36 // Note: |active_host_->GetWifiNetworkGuid()| returns "" unless currently | 37 // Note: |active_host_->GetWifiNetworkGuid()| returns "" unless currently |
| 37 // connected, so this if() statement is only entered on disconnections. | 38 // connected, so this if() statement is only entered on disconnections. |
| 38 if (network->guid() == active_host_->GetWifiNetworkGuid() && | 39 if (network->guid() == active_host_->GetWifiNetworkGuid() && |
| 39 !network->IsConnectedState()) { | 40 !network->IsConnectedState()) { |
| 40 PA_LOG(INFO) << "Connection to active host (Wi-Fi network GUID " | 41 PA_LOG(INFO) << "Connection to active host (Wi-Fi network GUID " |
| 41 << network->guid() << ") has been lost."; | 42 << network->guid() << ") has been lost."; |
| 43 |
| 44 network_configuration_remover_->RemoveNetworkConfiguration( |
| 45 active_host_->GetWifiNetworkGuid()); |
| 46 |
| 42 active_host_->SetActiveHostDisconnected(); | 47 active_host_->SetActiveHostDisconnected(); |
| 43 | |
| 44 // TODO(hansberry): Remove Wi-Fi network from "known" networks. | |
| 45 } | 48 } |
| 46 } | 49 } |
| 47 | 50 |
| 48 } // namespace tether | 51 } // namespace tether |
| 49 | 52 |
| 50 } // namespace chromeos | 53 } // namespace chromeos |
| OLD | NEW |