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

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

Issue 853663003: Revert of Refactoring of Cast-related crypto code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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_verify_delegate_chromeos.cc
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_verify_delegate_chromeos.cc b/chrome/browser/extensions/api/networking_private/networking_private_verify_delegate_chromeos.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a4d06a1dace30f81678541431618164e04ee8933
--- /dev/null
+++ b/chrome/browser/extensions/api/networking_private/networking_private_verify_delegate_chromeos.cc
@@ -0,0 +1,114 @@
+// Copyright 2014 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_verify_delegate_chromeos.h"
+
+#include "base/bind.h"
+#include "chrome/browser/extensions/api/networking_private/networking_private_api.h"
+#include "chrome/common/extensions/api/networking_private.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "chromeos/dbus/shill_manager_client.h"
+#include "chromeos/network/network_handler.h"
+#include "chromeos/network/network_state.h"
+#include "chromeos/network/network_state_handler.h"
+
+using chromeos::ShillManagerClient;
+
+namespace {
+
+ShillManagerClient* GetShillManagerClient() {
+ return chromeos::DBusThreadManager::Get()->GetShillManagerClient();
+}
+
+bool GetServicePathFromGuid(const std::string& guid,
+ std::string* service_path,
+ std::string* error) {
+ const chromeos::NetworkState* network = chromeos::NetworkHandler::Get()
+ ->network_state_handler()
+ ->GetNetworkStateFromGuid(guid);
+ if (!network) {
+ *error = extensions::networking_private::kErrorInvalidNetworkGuid;
+ return false;
+ }
+ *service_path = network->path();
+ return true;
+}
+
+ShillManagerClient::VerificationProperties ConvertVerificationProperties(
+ const extensions::api::networking_private::VerificationProperties& input) {
+ ShillManagerClient::VerificationProperties output;
+ output.certificate = input.certificate;
+ output.public_key = input.public_key;
+ output.nonce = input.nonce;
+ output.signed_data = input.signed_data;
+ output.device_serial = input.device_serial;
+ output.device_ssid = input.device_ssid;
+ output.device_bssid = input.device_bssid;
+ return output;
+}
+
+void ShillFailureCallback(
+ const extensions::NetworkingPrivateDelegate::FailureCallback& callback,
+ const std::string& error_name,
+ const std::string& error_message) {
+ callback.Run(error_name);
+}
+
+} // namespace
+
+namespace extensions {
+
+NetworkingPrivateVerifyDelegateChromeOS::
+ NetworkingPrivateVerifyDelegateChromeOS() {
+}
+
+NetworkingPrivateVerifyDelegateChromeOS::
+ ~NetworkingPrivateVerifyDelegateChromeOS() {
+}
+
+void NetworkingPrivateVerifyDelegateChromeOS::VerifyDestination(
+ const VerificationProperties& verification_properties,
+ const BoolCallback& success_callback,
+ const FailureCallback& failure_callback) {
+ ShillManagerClient::VerificationProperties verification_property_struct =
+ ConvertVerificationProperties(verification_properties);
+
+ GetShillManagerClient()->VerifyDestination(
+ verification_property_struct, success_callback,
+ base::Bind(&ShillFailureCallback, failure_callback));
+}
+
+void NetworkingPrivateVerifyDelegateChromeOS::VerifyAndEncryptCredentials(
+ const std::string& guid,
+ const VerificationProperties& verification_properties,
+ const StringCallback& success_callback,
+ const FailureCallback& failure_callback) {
+ std::string service_path, error;
+ if (!GetServicePathFromGuid(guid, &service_path, &error)) {
+ failure_callback.Run(error);
+ return;
+ }
+
+ ShillManagerClient::VerificationProperties verification_property_struct =
+ ConvertVerificationProperties(verification_properties);
+
+ GetShillManagerClient()->VerifyAndEncryptCredentials(
+ verification_property_struct, service_path, success_callback,
+ base::Bind(&ShillFailureCallback, failure_callback));
+}
+
+void NetworkingPrivateVerifyDelegateChromeOS::VerifyAndEncryptData(
+ const VerificationProperties& verification_properties,
+ const std::string& data,
+ const StringCallback& success_callback,
+ const FailureCallback& failure_callback) {
+ ShillManagerClient::VerificationProperties verification_property_struct =
+ ConvertVerificationProperties(verification_properties);
+
+ GetShillManagerClient()->VerifyAndEncryptData(
+ verification_property_struct, data, success_callback,
+ base::Bind(&ShillFailureCallback, failure_callback));
+}
+
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698