Index: chrome/browser/extensions/api/networking_private/networking_private_service_client.cc |
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc b/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc |
deleted file mode 100644 |
index 08b3f0fd3503b95316e45954b43d630e2c05f800..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc |
+++ /dev/null |
@@ -1,435 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/extensions/api/networking_private/networking_private_service_client.h" |
- |
-#include "base/base64.h" |
-#include "base/bind.h" |
-#include "base/sequenced_task_runner.h" |
-#include "base/threading/worker_pool.h" |
-#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/extensions/api/networking_private/networking_private_api.h" |
-#include "chrome/browser/extensions/api/networking_private/networking_private_delegate_observer.h" |
-#include "chrome/common/extensions/api/networking_private.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-using content::BrowserThread; |
-using wifi::WiFiService; |
- |
-namespace extensions { |
- |
-namespace { |
- |
-const char kNetworkingPrivateSequenceTokenName[] = "NetworkingPrivate"; |
- |
-// Deletes WiFiService object on the worker thread. |
-void ShutdownWifiServiceOnWorkerThread(scoped_ptr<WiFiService> wifi_service) { |
- DCHECK(wifi_service.get()); |
-} |
- |
-} // namespace |
- |
-NetworkingPrivateServiceClient::ServiceCallbacks::ServiceCallbacks() { |
-} |
- |
-NetworkingPrivateServiceClient::ServiceCallbacks::~ServiceCallbacks() { |
-} |
- |
-NetworkingPrivateServiceClient::NetworkingPrivateServiceClient( |
- scoped_ptr<WiFiService> wifi_service, |
- scoped_ptr<VerifyDelegate> verify_delegate) |
- : NetworkingPrivateDelegate(verify_delegate.Pass()), |
- wifi_service_(wifi_service.Pass()), |
- weak_factory_(this) { |
- sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( |
- kNetworkingPrivateSequenceTokenName); |
- task_runner_ = |
- BrowserThread::GetBlockingPool() |
- ->GetSequencedTaskRunnerWithShutdownBehavior( |
- sequence_token_, base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
- task_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&WiFiService::Initialize, |
- base::Unretained(wifi_service_.get()), task_runner_)); |
- task_runner_->PostTask( |
- FROM_HERE, |
- base::Bind( |
- &WiFiService::SetEventObservers, |
- base::Unretained(wifi_service_.get()), |
- base::MessageLoopProxy::current(), |
- base::Bind( |
- &NetworkingPrivateServiceClient::OnNetworksChangedEventOnUIThread, |
- weak_factory_.GetWeakPtr()), |
- base::Bind(&NetworkingPrivateServiceClient:: |
- OnNetworkListChangedEventOnUIThread, |
- weak_factory_.GetWeakPtr()))); |
- net::NetworkChangeNotifier::AddNetworkChangeObserver(this); |
-} |
- |
-NetworkingPrivateServiceClient::~NetworkingPrivateServiceClient() { |
- // Verify that wifi_service was passed to ShutdownWifiServiceOnWorkerThread to |
- // be deleted after completion of all posted tasks. |
- DCHECK(!wifi_service_.get()); |
-} |
- |
-void NetworkingPrivateServiceClient::Shutdown() { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); |
- // Clear callbacks map to release callbacks from UI thread. |
- callbacks_map_.Clear(); |
- // Post ShutdownWifiServiceOnWorkerThread task to delete services when all |
- // posted tasks are done. |
- task_runner_->PostTask(FROM_HERE, |
- base::Bind(&ShutdownWifiServiceOnWorkerThread, |
- base::Passed(&wifi_service_))); |
-} |
- |
-void NetworkingPrivateServiceClient::AddObserver( |
- NetworkingPrivateDelegateObserver* observer) { |
- network_events_observers_.AddObserver(observer); |
-} |
- |
-void NetworkingPrivateServiceClient::RemoveObserver( |
- NetworkingPrivateDelegateObserver* observer) { |
- network_events_observers_.RemoveObserver(observer); |
-} |
- |
-void NetworkingPrivateServiceClient::OnNetworkChanged( |
- net::NetworkChangeNotifier::ConnectionType type) { |
- task_runner_->PostTask(FROM_HERE, |
- base::Bind(&WiFiService::RequestConnectedNetworkUpdate, |
- base::Unretained(wifi_service_.get()))); |
-} |
- |
-NetworkingPrivateServiceClient::ServiceCallbacks* |
-NetworkingPrivateServiceClient::AddServiceCallbacks() { |
- ServiceCallbacks* service_callbacks = new ServiceCallbacks(); |
- service_callbacks->id = callbacks_map_.Add(service_callbacks); |
- return service_callbacks; |
-} |
- |
-void NetworkingPrivateServiceClient::RemoveServiceCallbacks( |
- ServiceCallbacksID callback_id) { |
- callbacks_map_.Remove(callback_id); |
-} |
- |
-// NetworkingPrivateServiceClient implementation |
- |
-void NetworkingPrivateServiceClient::GetProperties( |
- const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->get_properties_callback = success_callback; |
- |
- scoped_ptr<base::DictionaryValue> properties(new base::DictionaryValue); |
- std::string* error = new std::string; |
- |
- base::DictionaryValue* properties_ptr = properties.get(); |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::GetProperties, |
- base::Unretained(wifi_service_.get()), guid, |
- properties_ptr, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterGetProperties, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, guid, |
- base::Passed(&properties), base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::GetManagedProperties( |
- const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->get_properties_callback = success_callback; |
- |
- scoped_ptr<base::DictionaryValue> properties(new base::DictionaryValue); |
- std::string* error = new std::string; |
- |
- base::DictionaryValue* properties_ptr = properties.get(); |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::GetManagedProperties, |
- base::Unretained(wifi_service_.get()), guid, |
- properties_ptr, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterGetProperties, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, guid, |
- base::Passed(&properties), base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::GetState( |
- const std::string& guid, |
- const DictionaryCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->get_properties_callback = success_callback; |
- |
- scoped_ptr<base::DictionaryValue> properties(new base::DictionaryValue); |
- std::string* error = new std::string; |
- |
- base::DictionaryValue* properties_ptr = properties.get(); |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, |
- base::Bind(&WiFiService::GetState, base::Unretained(wifi_service_.get()), |
- guid, properties_ptr, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterGetProperties, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, guid, |
- base::Passed(&properties), base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::SetProperties( |
- const std::string& guid, |
- scoped_ptr<base::DictionaryValue> properties, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->set_properties_callback = success_callback; |
- |
- std::string* error = new std::string; |
- |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::SetProperties, |
- base::Unretained(wifi_service_.get()), guid, |
- base::Passed(&properties), error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterSetProperties, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, |
- base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::CreateNetwork( |
- bool shared, |
- scoped_ptr<base::DictionaryValue> properties, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->create_network_callback = success_callback; |
- |
- std::string* network_guid = new std::string; |
- std::string* error = new std::string; |
- |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::CreateNetwork, |
- base::Unretained(wifi_service_.get()), shared, |
- base::Passed(&properties), network_guid, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterCreateNetwork, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, |
- base::Owned(network_guid), base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::GetNetworks( |
- const std::string& network_type, |
- bool configured_only, |
- bool visible_only, |
- int limit, |
- const NetworkListCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->get_visible_networks_callback = success_callback; |
- |
- scoped_ptr<base::ListValue> networks(new base::ListValue); |
- |
- // TODO(stevenjb/mef): Apply filters (configured, visible, limit). |
- |
- base::ListValue* networks_ptr = networks.get(); |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::GetVisibleNetworks, |
- base::Unretained(wifi_service_.get()), network_type, |
- networks_ptr, false), |
- base::Bind(&NetworkingPrivateServiceClient::AfterGetVisibleNetworks, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, |
- base::Passed(&networks))); |
-} |
- |
-void NetworkingPrivateServiceClient::StartConnect( |
- const std::string& guid, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->start_connect_callback = success_callback; |
- |
- std::string* error = new std::string; |
- |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::StartConnect, |
- base::Unretained(wifi_service_.get()), guid, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterStartConnect, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, |
- base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::StartDisconnect( |
- const std::string& guid, |
- const VoidCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- ServiceCallbacks* service_callbacks = AddServiceCallbacks(); |
- service_callbacks->failure_callback = failure_callback; |
- service_callbacks->start_disconnect_callback = success_callback; |
- |
- std::string* error = new std::string; |
- |
- task_runner_->PostTaskAndReply( |
- FROM_HERE, base::Bind(&WiFiService::StartDisconnect, |
- base::Unretained(wifi_service_.get()), guid, error), |
- base::Bind(&NetworkingPrivateServiceClient::AfterStartDisconnect, |
- weak_factory_.GetWeakPtr(), service_callbacks->id, |
- base::Owned(error))); |
-} |
- |
-void NetworkingPrivateServiceClient::SetWifiTDLSEnabledState( |
- const std::string& ip_or_mac_address, |
- bool enabled, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- failure_callback.Run(networking_private::kErrorNotSupported); |
-} |
- |
-void NetworkingPrivateServiceClient::GetWifiTDLSStatus( |
- const std::string& ip_or_mac_address, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- failure_callback.Run(networking_private::kErrorNotSupported); |
-} |
- |
-void NetworkingPrivateServiceClient::GetCaptivePortalStatus( |
- const std::string& guid, |
- const StringCallback& success_callback, |
- const FailureCallback& failure_callback) { |
- failure_callback.Run(networking_private::kErrorNotSupported); |
-} |
- |
-scoped_ptr<base::ListValue> |
-NetworkingPrivateServiceClient::GetEnabledNetworkTypes() { |
- scoped_ptr<base::ListValue> network_list; |
- return network_list.Pass(); |
-} |
- |
-bool NetworkingPrivateServiceClient::EnableNetworkType( |
- const std::string& type) { |
- return false; |
-} |
- |
-bool NetworkingPrivateServiceClient::DisableNetworkType( |
- const std::string& type) { |
- return false; |
-} |
- |
-bool NetworkingPrivateServiceClient::RequestScan() { |
- task_runner_->PostTask(FROM_HERE, |
- base::Bind(&WiFiService::RequestNetworkScan, |
- base::Unretained(wifi_service_.get()))); |
- return true; |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-void NetworkingPrivateServiceClient::AfterGetProperties( |
- ServiceCallbacksID callback_id, |
- const std::string& network_guid, |
- scoped_ptr<base::DictionaryValue> properties, |
- const std::string* error) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- if (!error->empty()) { |
- DCHECK(!service_callbacks->failure_callback.is_null()); |
- service_callbacks->failure_callback.Run(*error); |
- } else { |
- DCHECK(!service_callbacks->get_properties_callback.is_null()); |
- service_callbacks->get_properties_callback.Run(properties.Pass()); |
- } |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::AfterGetVisibleNetworks( |
- ServiceCallbacksID callback_id, |
- scoped_ptr<base::ListValue> networks) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- DCHECK(!service_callbacks->get_visible_networks_callback.is_null()); |
- service_callbacks->get_visible_networks_callback.Run(networks.Pass()); |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::AfterSetProperties( |
- ServiceCallbacksID callback_id, |
- const std::string* error) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- if (!error->empty()) { |
- DCHECK(!service_callbacks->failure_callback.is_null()); |
- service_callbacks->failure_callback.Run(*error); |
- } else { |
- DCHECK(!service_callbacks->set_properties_callback.is_null()); |
- service_callbacks->set_properties_callback.Run(); |
- } |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::AfterCreateNetwork( |
- ServiceCallbacksID callback_id, |
- const std::string* network_guid, |
- const std::string* error) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- if (!error->empty()) { |
- DCHECK(!service_callbacks->failure_callback.is_null()); |
- service_callbacks->failure_callback.Run(*error); |
- } else { |
- DCHECK(!service_callbacks->create_network_callback.is_null()); |
- service_callbacks->create_network_callback.Run(*network_guid); |
- } |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::AfterStartConnect( |
- ServiceCallbacksID callback_id, |
- const std::string* error) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- if (!error->empty()) { |
- DCHECK(!service_callbacks->failure_callback.is_null()); |
- service_callbacks->failure_callback.Run(*error); |
- } else { |
- DCHECK(!service_callbacks->start_connect_callback.is_null()); |
- service_callbacks->start_connect_callback.Run(); |
- } |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::AfterStartDisconnect( |
- ServiceCallbacksID callback_id, |
- const std::string* error) { |
- ServiceCallbacks* service_callbacks = callbacks_map_.Lookup(callback_id); |
- DCHECK(service_callbacks); |
- if (!error->empty()) { |
- DCHECK(!service_callbacks->failure_callback.is_null()); |
- service_callbacks->failure_callback.Run(*error); |
- } else { |
- DCHECK(!service_callbacks->start_disconnect_callback.is_null()); |
- service_callbacks->start_disconnect_callback.Run(); |
- } |
- RemoveServiceCallbacks(callback_id); |
-} |
- |
-void NetworkingPrivateServiceClient::OnNetworksChangedEventOnUIThread( |
- const std::vector<std::string>& network_guids) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- FOR_EACH_OBSERVER(NetworkingPrivateDelegateObserver, |
- network_events_observers_, |
- OnNetworksChangedEvent(network_guids)); |
-} |
- |
-void NetworkingPrivateServiceClient::OnNetworkListChangedEventOnUIThread( |
- const std::vector<std::string>& network_guids) { |
- DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- FOR_EACH_OBSERVER(NetworkingPrivateDelegateObserver, |
- network_events_observers_, |
- OnNetworkListChangedEvent(network_guids)); |
-} |
- |
-} // namespace extensions |