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

Unified Diff: chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc

Issue 156353002: Implement networkingPrivate.setWifiTDLSEnabledState (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc b/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc
index 3742a0952793dd92ab9f9d2f92c1bad94ad1fe0c..5dc62733ff6f737e2ece77e2f0ee0471afd83b67 100644
--- a/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc
+++ b/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc
@@ -18,6 +18,7 @@
#include "chromeos/dbus/shill_manager_client.h"
#include "chromeos/network/managed_network_configuration_handler.h"
#include "chromeos/network/network_connection_handler.h"
+#include "chromeos/network/network_device_handler.h"
#include "chromeos/network/network_state.h"
#include "chromeos/network/network_state_handler.h"
#include "chromeos/network/onc/onc_signature.h"
@@ -604,7 +605,48 @@ void NetworkingPrivateVerifyAndEncryptDataFunction::ResultCallback(
}
void NetworkingPrivateVerifyAndEncryptDataFunction::ErrorCallback(
- const std::string& error_name, const std::string& error) {
+ const std::string& error_name,
+ const std::string& error) {
+ error_ = error_name;
+ SendResponse(false);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// NetworkingPrivateSetWifiTDLSEnabledStateFunction
+
+NetworkingPrivateSetWifiTDLSEnabledStateFunction::
+ ~NetworkingPrivateSetWifiTDLSEnabledStateFunction() {
+}
+
+bool NetworkingPrivateSetWifiTDLSEnabledStateFunction::RunImpl() {
+ scoped_ptr<api::SetWifiTDLSEnabledState::Params> params =
+ api::SetWifiTDLSEnabledState::Params::Create(*args_);
+ EXTENSION_FUNCTION_VALIDATE(params);
+
+ std::string ip_or_mac_address = params->ip_or_mac_address;
+ bool enable = params->enabled;
+
+ NetworkHandler::Get()->network_device_handler()->
+ SetWifiTDLSEnabled(
+ ip_or_mac_address,
+ enable,
+ base::Bind(&NetworkingPrivateSetWifiTDLSEnabledStateFunction::Success,
+ this),
+ base::Bind(&NetworkingPrivateSetWifiTDLSEnabledStateFunction::Failure,
+ this));
+
+ return true;
+}
+
+void NetworkingPrivateSetWifiTDLSEnabledStateFunction::Success(
+ const std::string& result) {
+ results_ = api::SetWifiTDLSEnabledState::Results::Create(result);
+ SendResponse(true);
+}
+
+void NetworkingPrivateSetWifiTDLSEnabledStateFunction::Failure(
+ const std::string& error_name,
+ scoped_ptr<base::DictionaryValue> error_data) {
error_ = error_name;
SendResponse(false);
}

Powered by Google App Engine
This is Rietveld 408576698