Chromium Code Reviews| Index: chromeos/network/network_connect.cc |
| diff --git a/chromeos/network/network_connect.cc b/chromeos/network/network_connect.cc |
| index bf6ed2ed137ece4d76d2547afd01db26862c3d47..b48157ea2deddd77968aafcded1ebd52e77be5d5 100644 |
| --- a/chromeos/network/network_connect.cc |
| +++ b/chromeos/network/network_connect.cc |
| @@ -26,6 +26,9 @@ namespace chromeos { |
| namespace { |
| +void IgnoreDisconnectError(const std::string& error_name, |
| + std::unique_ptr<base::DictionaryValue> error_data) {} |
| + |
| // Returns true for carriers that can be activated through Shill instead of |
| // through a WebUI dialog. |
| bool IsDirectActivatedCarrier(const std::string& carrier) { |
| @@ -48,6 +51,7 @@ class NetworkConnectImpl : public NetworkConnect { |
| // NetworkConnect |
| void ConnectToNetworkId(const std::string& network_id) override; |
| + void DisconnectFromNetworkId(const std::string& network_id) override; |
| bool MaybeShowConfigureUI(const std::string& network_id, |
| const std::string& connect_error) override; |
| void SetTechnologyEnabled(const NetworkTypePattern& technology, |
| @@ -75,6 +79,7 @@ class NetworkConnectImpl : public NetworkConnect { |
| void OnConnectSucceeded(const std::string& network_id); |
| void CallConnectToNetwork(const std::string& network_id, |
| bool check_error_state); |
| + void CallDisconnectFromNetwork(const std::string& network_id); |
|
stevenjb
2017/03/23 21:43:43
We don't really need this. CallConnectToNetwork ex
varkha
2017/03/23 22:46:55
Done.
|
| void OnActivateFailed(const std::string& network_id, |
| const std::string& error_name, |
| std::unique_ptr<base::DictionaryValue> error_data); |
| @@ -260,6 +265,16 @@ void NetworkConnectImpl::CallConnectToNetwork(const std::string& network_id, |
| check_error_state); |
| } |
| +void NetworkConnectImpl::CallDisconnectFromNetwork( |
| + const std::string& network_id) { |
| + const NetworkState* network = GetNetworkStateFromId(network_id); |
| + if (!network) |
| + return; |
| + NetworkHandler::Get()->network_connection_handler()->DisconnectNetwork( |
| + network->path(), base::Bind(&base::DoNothing), |
| + base::Bind(&IgnoreDisconnectError)); |
| +} |
| + |
| void NetworkConnectImpl::OnActivateFailed( |
| const std::string& network_id, |
| const std::string& error_name, |
| @@ -402,6 +417,12 @@ void NetworkConnectImpl::ConnectToNetworkId(const std::string& network_id) { |
| CallConnectToNetwork(network_id, check_error_state); |
| } |
| +void NetworkConnectImpl::DisconnectFromNetworkId( |
| + const std::string& network_id) { |
| + NET_LOG_USER("DisconnectFromNetwork", network_id); |
| + CallDisconnectFromNetwork(network_id); |
| +} |
| + |
| bool NetworkConnectImpl::MaybeShowConfigureUI( |
| const std::string& network_id, |
| const std::string& connect_error) { |