| Index: chromeos/network/network_connection_handler_impl.cc
|
| diff --git a/chromeos/network/network_connection_handler.cc b/chromeos/network/network_connection_handler_impl.cc
|
| similarity index 77%
|
| copy from chromeos/network/network_connection_handler.cc
|
| copy to chromeos/network/network_connection_handler_impl.cc
|
| index 69483bfb0cdf3d07bd25abf79e9cba5648f144e4..fb4f3201a7ffff4117570090fdef29d70afaf983 100644
|
| --- a/chromeos/network/network_connection_handler.cc
|
| +++ b/chromeos/network/network_connection_handler_impl.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chromeos/network/network_connection_handler.h"
|
| +#include "chromeos/network/network_connection_handler_impl.h"
|
|
|
| #include "base/bind.h"
|
| #include "base/json/json_reader.h"
|
| @@ -10,6 +10,7 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| +#include "base/time/time.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/dbus/shill_manager_client.h"
|
| #include "chromeos/dbus/shill_service_client.h"
|
| @@ -40,8 +41,8 @@ bool IsAuthenticationError(const std::string& error) {
|
| }
|
|
|
| bool VPNRequiresCredentials(const std::string& service_path,
|
| - const std::string& provider_type,
|
| - const base::DictionaryValue& provider_properties) {
|
| + const std::string& provider_type,
|
| + const base::DictionaryValue& provider_properties) {
|
| if (provider_type == shill::kProviderOpenVpn) {
|
| std::string username;
|
| provider_properties.GetStringWithoutPathExpansion(
|
| @@ -85,7 +86,7 @@ std::string GetDefaultUserProfilePath(const NetworkState* network) {
|
| network->security_class() == shill::kSecurityNone)) {
|
| return NetworkProfileHandler::GetSharedProfilePath();
|
| }
|
| - const NetworkProfile* profile =
|
| + const NetworkProfile* profile =
|
| NetworkHandler::Get()->network_profile_handler()->GetDefaultUserProfile();
|
| return profile ? profile->path
|
| : NetworkProfileHandler::GetSharedProfilePath();
|
| @@ -93,69 +94,35 @@ std::string GetDefaultUserProfilePath(const NetworkState* network) {
|
|
|
| } // namespace
|
|
|
| -const char NetworkConnectionHandler::kErrorNotFound[] = "not-found";
|
| -const char NetworkConnectionHandler::kErrorConnected[] = "connected";
|
| -const char NetworkConnectionHandler::kErrorConnecting[] = "connecting";
|
| -const char NetworkConnectionHandler::kErrorNotConnected[] = "not-connected";
|
| -const char NetworkConnectionHandler::kErrorPassphraseRequired[] =
|
| - "passphrase-required";
|
| -const char NetworkConnectionHandler::kErrorBadPassphrase[] = "bad-passphrase";
|
| -const char NetworkConnectionHandler::kErrorCertificateRequired[] =
|
| - "certificate-required";
|
| -const char NetworkConnectionHandler::kErrorConfigurationRequired[] =
|
| - "configuration-required";
|
| -const char NetworkConnectionHandler::kErrorAuthenticationRequired[] =
|
| - "authentication-required";
|
| -const char NetworkConnectionHandler::kErrorConnectFailed[] = "connect-failed";
|
| -const char NetworkConnectionHandler::kErrorDisconnectFailed[] =
|
| - "disconnect-failed";
|
| -const char NetworkConnectionHandler::kErrorConfigureFailed[] =
|
| - "configure-failed";
|
| -const char NetworkConnectionHandler::kErrorConnectCanceled[] =
|
| - "connect-canceled";
|
| -const char NetworkConnectionHandler::kErrorCertLoadTimeout[] =
|
| - "cert-load-timeout";
|
| -const char NetworkConnectionHandler::kErrorUnmanagedNetwork[] =
|
| - "unmanaged-network";
|
| -const char NetworkConnectionHandler::kErrorActivateFailed[] = "activate-failed";
|
| -const char NetworkConnectionHandler::kErrorEnabledOrDisabledWhenNotAvailable[] =
|
| - "not-available";
|
| -const char
|
| - NetworkConnectionHandler::kErrorTetherConnectionAttemptWithNoDelegate[] =
|
| - "tether-with-no-delegate";
|
| -
|
| -struct NetworkConnectionHandler::ConnectRequest {
|
| - ConnectRequest(const std::string& service_path,
|
| - const std::string& profile_path,
|
| - const base::Closure& success,
|
| - const network_handler::ErrorCallback& error)
|
| - : service_path(service_path),
|
| - profile_path(profile_path),
|
| - connect_state(CONNECT_REQUESTED),
|
| - success_callback(success),
|
| - error_callback(error) {
|
| - }
|
| - enum ConnectState {
|
| - CONNECT_REQUESTED = 0,
|
| - CONNECT_STARTED = 1,
|
| - CONNECT_CONNECTING = 2
|
| - };
|
| - std::string service_path;
|
| - std::string profile_path;
|
| - ConnectState connect_state;
|
| - base::Closure success_callback;
|
| - network_handler::ErrorCallback error_callback;
|
| -};
|
| -
|
| -NetworkConnectionHandler::NetworkConnectionHandler()
|
| +NetworkConnectionHandlerImpl::ConnectRequest::ConnectRequest(
|
| + const std::string& service_path,
|
| + const std::string& profile_path,
|
| + const base::Closure& success,
|
| + const network_handler::ErrorCallback& error)
|
| + : service_path(service_path),
|
| + profile_path(profile_path),
|
| + connect_state(CONNECT_REQUESTED),
|
| + success_callback(success),
|
| + error_callback(error) {}
|
| +
|
| +NetworkConnectionHandlerImpl::ConnectRequest::~ConnectRequest() {}
|
| +
|
| +NetworkConnectionHandlerImpl::ConnectRequest::ConnectRequest(
|
| + const ConnectRequest& other)
|
| + : service_path(other.service_path),
|
| + profile_path(other.profile_path),
|
| + connect_state(other.connect_state),
|
| + success_callback(other.success_callback),
|
| + error_callback(other.error_callback) {}
|
| +
|
| +NetworkConnectionHandlerImpl::NetworkConnectionHandlerImpl()
|
| : cert_loader_(NULL),
|
| network_state_handler_(NULL),
|
| configuration_handler_(NULL),
|
| logged_in_(false),
|
| - certificates_loaded_(false),
|
| - tether_delegate_(nullptr) {}
|
| + certificates_loaded_(false) {}
|
|
|
| -NetworkConnectionHandler::~NetworkConnectionHandler() {
|
| +NetworkConnectionHandlerImpl::~NetworkConnectionHandlerImpl() {
|
| if (network_state_handler_)
|
| network_state_handler_->RemoveObserver(this, FROM_HERE);
|
| if (cert_loader_)
|
| @@ -164,7 +131,7 @@ NetworkConnectionHandler::~NetworkConnectionHandler() {
|
| LoginState::Get()->RemoveObserver(this);
|
| }
|
|
|
| -void NetworkConnectionHandler::Init(
|
| +void NetworkConnectionHandlerImpl::Init(
|
| NetworkStateHandler* network_state_handler,
|
| NetworkConfigurationHandler* network_configuration_handler,
|
| ManagedNetworkConfigurationHandler* managed_network_configuration_handler) {
|
| @@ -191,24 +158,14 @@ void NetworkConnectionHandler::Init(
|
| configuration_handler_ = network_configuration_handler;
|
| managed_configuration_handler_ = managed_network_configuration_handler;
|
|
|
| - // After this point, the NetworkConnectionHandler is fully initialized (all
|
| - // handler references set, observers registered, ...).
|
| + // After this point, the NetworkConnectionHandlerImpl is fully initialized
|
| + // (all handler references set, observers registered, ...).
|
|
|
| if (LoginState::IsInitialized())
|
| LoggedInStateChanged();
|
| }
|
|
|
| -void NetworkConnectionHandler::AddObserver(
|
| - NetworkConnectionObserver* observer) {
|
| - observers_.AddObserver(observer);
|
| -}
|
| -
|
| -void NetworkConnectionHandler::RemoveObserver(
|
| - NetworkConnectionObserver* observer) {
|
| - observers_.RemoveObserver(observer);
|
| -}
|
| -
|
| -void NetworkConnectionHandler::LoggedInStateChanged() {
|
| +void NetworkConnectionHandlerImpl::LoggedInStateChanged() {
|
| LoginState* login_state = LoginState::Get();
|
| if (logged_in_ || !login_state->IsUserLoggedIn())
|
| return;
|
| @@ -217,7 +174,7 @@ void NetworkConnectionHandler::LoggedInStateChanged() {
|
| logged_in_time_ = base::TimeTicks::Now();
|
| }
|
|
|
| -void NetworkConnectionHandler::OnCertificatesLoaded(
|
| +void NetworkConnectionHandlerImpl::OnCertificatesLoaded(
|
| const net::CertificateList& cert_list,
|
| bool initial_load) {
|
| certificates_loaded_ = true;
|
| @@ -226,20 +183,7 @@ void NetworkConnectionHandler::OnCertificatesLoaded(
|
| ConnectToQueuedNetwork();
|
| }
|
|
|
| -void NetworkConnectionHandler::InitiateTetherNetworkConnection(
|
| - const std::string& tether_network_guid,
|
| - const base::Closure& success_callback,
|
| - const network_handler::ErrorCallback& error_callback) {
|
| - DCHECK(tether_delegate_);
|
| - tether_delegate_->ConnectToNetwork(
|
| - tether_network_guid,
|
| - base::Bind(&NetworkConnectionHandler::InvokeConnectSuccessCallback,
|
| - AsWeakPtr(), tether_network_guid, success_callback),
|
| - base::Bind(&NetworkConnectionHandler::InvokeConnectErrorCallback,
|
| - AsWeakPtr(), tether_network_guid, error_callback));
|
| -}
|
| -
|
| -void NetworkConnectionHandler::ConnectToNetwork(
|
| +void NetworkConnectionHandlerImpl::ConnectToNetwork(
|
| const std::string& service_path,
|
| const base::Closure& success_callback,
|
| const network_handler::ErrorCallback& error_callback,
|
| @@ -311,10 +255,9 @@ void NetworkConnectionHandler::ConnectToNetwork(
|
| profile_path = GetDefaultUserProfilePath(network);
|
|
|
| // All synchronous checks passed, add |service_path| to connecting list.
|
| - pending_requests_.insert(std::make_pair(
|
| - service_path,
|
| - ConnectRequest(service_path, profile_path,
|
| - success_callback, error_callback)));
|
| + pending_requests_.emplace(
|
| + service_path, ConnectRequest(service_path, profile_path, success_callback,
|
| + error_callback));
|
|
|
| // Connect immediately to 'connectable' networks.
|
| // TODO(stevenjb): Shill needs to properly set Connectable for VPN.
|
| @@ -334,13 +277,13 @@ void NetworkConnectionHandler::ConnectToNetwork(
|
| // are up to date after any recent configuration.
|
| configuration_handler_->GetShillProperties(
|
| service_path,
|
| - base::Bind(&NetworkConnectionHandler::VerifyConfiguredAndConnect,
|
| + base::Bind(&NetworkConnectionHandlerImpl::VerifyConfiguredAndConnect,
|
| AsWeakPtr(), check_error_state),
|
| - base::Bind(&NetworkConnectionHandler::HandleConfigurationFailure,
|
| + base::Bind(&NetworkConnectionHandlerImpl::HandleConfigurationFailure,
|
| AsWeakPtr(), service_path));
|
| }
|
|
|
| -void NetworkConnectionHandler::DisconnectNetwork(
|
| +void NetworkConnectionHandlerImpl::DisconnectNetwork(
|
| const std::string& service_path,
|
| const base::Closure& success_callback,
|
| const network_handler::ErrorCallback& error_callback) {
|
| @@ -366,32 +309,28 @@ void NetworkConnectionHandler::DisconnectNetwork(
|
| CallShillDisconnect(service_path, success_callback, error_callback);
|
| }
|
|
|
| -bool NetworkConnectionHandler::HasConnectingNetwork(
|
| +bool NetworkConnectionHandlerImpl::HasConnectingNetwork(
|
| const std::string& service_path) {
|
| return pending_requests_.count(service_path) != 0;
|
| }
|
|
|
| -bool NetworkConnectionHandler::HasPendingConnectRequest() {
|
| +bool NetworkConnectionHandlerImpl::HasPendingConnectRequest() {
|
| return pending_requests_.size() > 0;
|
| }
|
|
|
| -void NetworkConnectionHandler::SetTetherDelegate(
|
| - TetherDelegate* tether_delegate) {
|
| - tether_delegate_ = tether_delegate;
|
| -}
|
| -
|
| -void NetworkConnectionHandler::NetworkListChanged() {
|
| +void NetworkConnectionHandlerImpl::NetworkListChanged() {
|
| CheckAllPendingRequests();
|
| }
|
|
|
| -void NetworkConnectionHandler::NetworkPropertiesUpdated(
|
| +void NetworkConnectionHandlerImpl::NetworkPropertiesUpdated(
|
| const NetworkState* network) {
|
| if (HasConnectingNetwork(network->path()))
|
| CheckPendingRequest(network->path());
|
| }
|
|
|
| -NetworkConnectionHandler::ConnectRequest*
|
| -NetworkConnectionHandler::GetPendingRequest(const std::string& service_path) {
|
| +NetworkConnectionHandlerImpl::ConnectRequest*
|
| +NetworkConnectionHandlerImpl::GetPendingRequest(
|
| + const std::string& service_path) {
|
| std::map<std::string, ConnectRequest>::iterator iter =
|
| pending_requests_.find(service_path);
|
| return iter != pending_requests_.end() ? &(iter->second) : NULL;
|
| @@ -399,7 +338,7 @@ NetworkConnectionHandler::GetPendingRequest(const std::string& service_path) {
|
|
|
| // ConnectToNetwork implementation
|
|
|
| -void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| +void NetworkConnectionHandlerImpl::VerifyConfiguredAndConnect(
|
| bool check_error_state,
|
| const std::string& service_path,
|
| const base::DictionaryValue& service_properties) {
|
| @@ -420,8 +359,8 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| service_properties.GetStringWithoutPathExpansion(
|
| shill::kSecurityClassProperty, &security_class);
|
| bool connectable = false;
|
| - service_properties.GetBooleanWithoutPathExpansion(
|
| - shill::kConnectableProperty, &connectable);
|
| + service_properties.GetBooleanWithoutPathExpansion(shill::kConnectableProperty,
|
| + &connectable);
|
|
|
| // In case NetworkState was not available in ConnectToNetwork (e.g. it had
|
| // been recently configured), we need to check Connectable again.
|
| @@ -440,10 +379,10 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| // "Provider.Type", etc keys (which are used only to set the values).
|
| if (service_properties.GetDictionaryWithoutPathExpansion(
|
| shill::kProviderProperty, &provider_properties)) {
|
| - provider_properties->GetStringWithoutPathExpansion(
|
| - shill::kTypeProperty, &vpn_provider_type);
|
| - provider_properties->GetStringWithoutPathExpansion(
|
| - shill::kHostProperty, &vpn_provider_host);
|
| + provider_properties->GetStringWithoutPathExpansion(shill::kTypeProperty,
|
| + &vpn_provider_type);
|
| + provider_properties->GetStringWithoutPathExpansion(shill::kHostProperty,
|
| + &vpn_provider_host);
|
| provider_properties->GetStringWithoutPathExpansion(
|
| shill::kL2tpIpsecClientCertIdProperty, &vpn_client_cert_id);
|
| }
|
| @@ -525,9 +464,8 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| ErrorCallbackForPendingRequest(service_path, kErrorCertificateRequired);
|
| return;
|
| }
|
| - } else if (check_error_state &&
|
| - !client_cert::IsCertificateConfigured(client_cert_type,
|
| - service_properties)) {
|
| + } else if (check_error_state && !client_cert::IsCertificateConfigured(
|
| + client_cert_type, service_properties)) {
|
| // Network may not be configured.
|
| ErrorCallbackForPendingRequest(service_path, kErrorConfigurationRequired);
|
| return;
|
| @@ -538,8 +476,8 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| // VPN may require a username, and/or passphrase to be set. (Check after
|
| // ensuring that any required certificates are configured).
|
| DCHECK(provider_properties);
|
| - if (VPNRequiresCredentials(
|
| - service_path, vpn_provider_type, *provider_properties)) {
|
| + if (VPNRequiresCredentials(service_path, vpn_provider_type,
|
| + *provider_properties)) {
|
| NET_LOG_USER("VPN Requires Credentials", service_path);
|
| ErrorCallbackForPendingRequest(service_path, kErrorConfigurationRequired);
|
| return;
|
| @@ -558,9 +496,9 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| configuration_handler_->SetShillProperties(
|
| service_path, config_properties,
|
| NetworkConfigurationObserver::SOURCE_USER_ACTION,
|
| - base::Bind(&NetworkConnectionHandler::CallShillConnect, AsWeakPtr(),
|
| + base::Bind(&NetworkConnectionHandlerImpl::CallShillConnect, AsWeakPtr(),
|
| service_path),
|
| - base::Bind(&NetworkConnectionHandler::HandleConfigurationFailure,
|
| + base::Bind(&NetworkConnectionHandlerImpl::HandleConfigurationFailure,
|
| AsWeakPtr(), service_path));
|
| return;
|
| }
|
| @@ -575,7 +513,7 @@ void NetworkConnectionHandler::VerifyConfiguredAndConnect(
|
| CallShillConnect(service_path);
|
| }
|
|
|
| -bool NetworkConnectionHandler::IsNetworkProhibitedByPolicy(
|
| +bool NetworkConnectionHandlerImpl::IsNetworkProhibitedByPolicy(
|
| const std::string& type,
|
| const std::string& guid,
|
| const std::string& profile_path) {
|
| @@ -599,7 +537,7 @@ bool NetworkConnectionHandler::IsNetworkProhibitedByPolicy(
|
| guid, profile_path, nullptr /* onc_source */);
|
| }
|
|
|
| -void NetworkConnectionHandler::QueueConnectRequest(
|
| +void NetworkConnectionHandlerImpl::QueueConnectRequest(
|
| const std::string& service_path) {
|
| ConnectRequest* request = GetPendingRequest(service_path);
|
| if (!request) {
|
| @@ -617,21 +555,22 @@ void NetworkConnectionHandler::QueueConnectRequest(
|
| }
|
|
|
| NET_LOG_EVENT("Connect Request Queued", service_path);
|
| - queued_connect_.reset(new ConnectRequest(
|
| - service_path, request->profile_path,
|
| - request->success_callback, request->error_callback));
|
| + queued_connect_.reset(new ConnectRequest(service_path, request->profile_path,
|
| + request->success_callback,
|
| + request->error_callback));
|
| pending_requests_.erase(service_path);
|
|
|
| // Post a delayed task to check to see if certificates have loaded. If they
|
| // haven't, and queued_connect_ has not been cleared (e.g. by a successful
|
| // connect request), cancel the request and notify the user.
|
| base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
|
| - FROM_HERE, base::Bind(&NetworkConnectionHandler::CheckCertificatesLoaded,
|
| - AsWeakPtr()),
|
| + FROM_HERE,
|
| + base::Bind(&NetworkConnectionHandlerImpl::CheckCertificatesLoaded,
|
| + AsWeakPtr()),
|
| base::TimeDelta::FromSeconds(kMaxCertLoadTimeSeconds) - dtime);
|
| }
|
|
|
| -void NetworkConnectionHandler::CheckCertificatesLoaded() {
|
| +void NetworkConnectionHandlerImpl::CheckCertificatesLoaded() {
|
| if (certificates_loaded_)
|
| return;
|
| // If queued_connect_ has been cleared (e.g. another connect request occurred
|
| @@ -646,7 +585,7 @@ void NetworkConnectionHandler::CheckCertificatesLoaded() {
|
| queued_connect_.reset();
|
| }
|
|
|
| -void NetworkConnectionHandler::ConnectToQueuedNetwork() {
|
| +void NetworkConnectionHandlerImpl::ConnectToQueuedNetwork() {
|
| DCHECK(queued_connect_);
|
|
|
| // Make a copy of |queued_connect_| parameters, because |queued_connect_|
|
| @@ -661,19 +600,19 @@ void NetworkConnectionHandler::ConnectToQueuedNetwork() {
|
| false /* check_error_state */);
|
| }
|
|
|
| -void NetworkConnectionHandler::CallShillConnect(
|
| +void NetworkConnectionHandlerImpl::CallShillConnect(
|
| const std::string& service_path) {
|
| NET_LOG_EVENT("Sending Connect Request to Shill", service_path);
|
| network_state_handler_->ClearLastErrorForNetwork(service_path);
|
| DBusThreadManager::Get()->GetShillServiceClient()->Connect(
|
| dbus::ObjectPath(service_path),
|
| - base::Bind(&NetworkConnectionHandler::HandleShillConnectSuccess,
|
| + base::Bind(&NetworkConnectionHandlerImpl::HandleShillConnectSuccess,
|
| AsWeakPtr(), service_path),
|
| - base::Bind(&NetworkConnectionHandler::HandleShillConnectFailure,
|
| + base::Bind(&NetworkConnectionHandlerImpl::HandleShillConnectFailure,
|
| AsWeakPtr(), service_path));
|
| }
|
|
|
| -void NetworkConnectionHandler::HandleConfigurationFailure(
|
| +void NetworkConnectionHandlerImpl::HandleConfigurationFailure(
|
| const std::string& service_path,
|
| const std::string& error_name,
|
| std::unique_ptr<base::DictionaryValue> error_data) {
|
| @@ -689,7 +628,7 @@ void NetworkConnectionHandler::HandleConfigurationFailure(
|
| kErrorConfigureFailed);
|
| }
|
|
|
| -void NetworkConnectionHandler::HandleShillConnectSuccess(
|
| +void NetworkConnectionHandlerImpl::HandleShillConnectSuccess(
|
| const std::string& service_path) {
|
| ConnectRequest* request = GetPendingRequest(service_path);
|
| if (!request) {
|
| @@ -706,7 +645,7 @@ void NetworkConnectionHandler::HandleShillConnectSuccess(
|
| CheckPendingRequest(service_path);
|
| }
|
|
|
| -void NetworkConnectionHandler::HandleShillConnectFailure(
|
| +void NetworkConnectionHandlerImpl::HandleShillConnectFailure(
|
| const std::string& service_path,
|
| const std::string& dbus_error_name,
|
| const std::string& dbus_error_message) {
|
| @@ -731,7 +670,7 @@ void NetworkConnectionHandler::HandleShillConnectFailure(
|
| InvokeConnectErrorCallback(service_path, error_callback, error);
|
| }
|
|
|
| -void NetworkConnectionHandler::CheckPendingRequest(
|
| +void NetworkConnectionHandlerImpl::CheckPendingRequest(
|
| const std::string service_path) {
|
| ConnectRequest* request = GetPendingRequest(service_path);
|
| DCHECK(request);
|
| @@ -750,8 +689,7 @@ void NetworkConnectionHandler::CheckPendingRequest(
|
| if (!request->profile_path.empty()) {
|
| // If a profile path was specified, set it on a successful connection.
|
| configuration_handler_->SetNetworkProfile(
|
| - service_path,
|
| - request->profile_path,
|
| + service_path, request->profile_path,
|
| NetworkConfigurationObserver::SOURCE_USER_ACTION,
|
| base::Bind(&base::DoNothing),
|
| chromeos::network_handler::ErrorCallback());
|
| @@ -786,26 +724,17 @@ void NetworkConnectionHandler::CheckPendingRequest(
|
| InvokeConnectErrorCallback(service_path, error_callback, error_name);
|
| }
|
|
|
| -void NetworkConnectionHandler::CheckAllPendingRequests() {
|
| +void NetworkConnectionHandlerImpl::CheckAllPendingRequests() {
|
| for (std::map<std::string, ConnectRequest>::iterator iter =
|
| - pending_requests_.begin(); iter != pending_requests_.end(); ++iter) {
|
| + pending_requests_.begin();
|
| + iter != pending_requests_.end(); ++iter) {
|
| CheckPendingRequest(iter->first);
|
| }
|
| }
|
|
|
| // Connect callbacks
|
|
|
| -void NetworkConnectionHandler::InvokeConnectSuccessCallback(
|
| - const std::string& service_path,
|
| - const base::Closure& success_callback) {
|
| - NET_LOG_EVENT("Connect Request Succeeded", service_path);
|
| - if (!success_callback.is_null())
|
| - success_callback.Run();
|
| - for (auto& observer : observers_)
|
| - observer.ConnectSucceeded(service_path);
|
| -}
|
| -
|
| -void NetworkConnectionHandler::ErrorCallbackForPendingRequest(
|
| +void NetworkConnectionHandlerImpl::ErrorCallbackForPendingRequest(
|
| const std::string& service_path,
|
| const std::string& error_name) {
|
| ConnectRequest* request = GetPendingRequest(service_path);
|
| @@ -820,33 +749,22 @@ void NetworkConnectionHandler::ErrorCallbackForPendingRequest(
|
| InvokeConnectErrorCallback(service_path, error_callback, error_name);
|
| }
|
|
|
| -void NetworkConnectionHandler::InvokeConnectErrorCallback(
|
| - const std::string& service_path,
|
| - const network_handler::ErrorCallback& error_callback,
|
| - const std::string& error_name) {
|
| - NET_LOG_ERROR("Connect Failure: " + error_name, service_path);
|
| - network_handler::RunErrorCallback(error_callback, service_path, error_name,
|
| - "");
|
| - for (auto& observer : observers_)
|
| - observer.ConnectFailed(service_path, error_name);
|
| -}
|
| -
|
| // Disconnect
|
|
|
| -void NetworkConnectionHandler::CallShillDisconnect(
|
| +void NetworkConnectionHandlerImpl::CallShillDisconnect(
|
| const std::string& service_path,
|
| const base::Closure& success_callback,
|
| const network_handler::ErrorCallback& error_callback) {
|
| NET_LOG_USER("Disconnect Request", service_path);
|
| DBusThreadManager::Get()->GetShillServiceClient()->Disconnect(
|
| dbus::ObjectPath(service_path),
|
| - base::Bind(&NetworkConnectionHandler::HandleShillDisconnectSuccess,
|
| + base::Bind(&NetworkConnectionHandlerImpl::HandleShillDisconnectSuccess,
|
| AsWeakPtr(), service_path, success_callback),
|
| base::Bind(&network_handler::ShillErrorCallbackFunction,
|
| kErrorDisconnectFailed, service_path, error_callback));
|
| }
|
|
|
| -void NetworkConnectionHandler::HandleShillDisconnectSuccess(
|
| +void NetworkConnectionHandlerImpl::HandleShillDisconnectSuccess(
|
| const std::string& service_path,
|
| const base::Closure& success_callback) {
|
| NET_LOG_EVENT("Disconnect Request Sent", service_path);
|
|
|