1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/extensions/api/networking_private/networking_private_api.h" 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/bind.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/bind_helpers.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/callback.h" 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/common/extensions/api/networking_private.h" 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/onc/onc_constants.h" 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "extensions/browser/extension_function_registry.h" 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace { 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst int kDefaultNetworkListLimit = 1000; 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdochextensions::NetworkingPrivateDelegate* GetDelegate( 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch content::BrowserContext* browser_context) { 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return extensions::NetworkingPrivateDelegate::GetForBrowserContext( 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch browser_context); 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace private_api = extensions::api::networking_private; 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace extensions { 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace networking_private { 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// static 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kErrorInvalidNetworkGuid[] = "Error.InvalidNetworkGuid"; 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kErrorNetworkUnavailable[] = "Error.NetworkUnavailable"; 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kErrorEncryptionError[] = "Error.EncryptionError"; 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kErrorNotReady[] = "Error.NotReady"; 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kErrorNotSupported[] = "Error.NotSupported"; 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace networking_private 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetPropertiesFunction 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 45116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetPropertiesFunction:: 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetPropertiesFunction() { 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 49116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetPropertiesFunction::RunAsync() { 50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetProperties::Params> params = 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetProperties::Params::Create(*args_); 52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetProperties( 55116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetPropertiesFunction::Success, this), 57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetPropertiesFunction::Failure, this)); 58116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 61116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetPropertiesFunction::Success( 62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::DictionaryValue> result) { 63116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(result.release()); 64116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 67116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetPropertiesFunction::Failure(const std::string& error) { 68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 70116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetManagedPropertiesFunction 74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 75116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetManagedPropertiesFunction:: 76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetManagedPropertiesFunction() { 77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 79116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetManagedPropertiesFunction::RunAsync() { 80116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetManagedProperties::Params> params = 81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetManagedProperties::Params::Create(*args_); 82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 83116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 84116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetManagedProperties( 85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 86116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetManagedPropertiesFunction::Success, this), 87116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetManagedPropertiesFunction::Failure, 88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this)); 89116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 90116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 92116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetManagedPropertiesFunction::Success( 93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::DictionaryValue> result) { 94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(result.release()); 95116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 98116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetManagedPropertiesFunction::Failure( 99116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 100116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 101116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 102116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 103116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 104116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 105116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetStateFunction 106116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 107116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetStateFunction::~NetworkingPrivateGetStateFunction() { 108116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 109116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 110116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetStateFunction::RunAsync() { 111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetState::Params> params = 112116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetState::Params::Create(*args_); 113116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetState( 116116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetStateFunction::Success, this), 118116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetStateFunction::Failure, this)); 119116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 120116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 121116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 122116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetStateFunction::Success( 123116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::DictionaryValue> result) { 124116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(result.release()); 125116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 126116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 127116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 128116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetStateFunction::Failure(const std::string& error) { 129116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 130116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 131116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 132116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 133116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 134116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateSetPropertiesFunction 135116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 136116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateSetPropertiesFunction:: 137116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateSetPropertiesFunction() { 138116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 139116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 140116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateSetPropertiesFunction::RunAsync() { 141116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::SetProperties::Params> params = 142116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::SetProperties::Params::Create(*args_); 143116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 144116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 145116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::DictionaryValue> properties_dict( 146116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->properties.ToValue()); 147116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->SetProperties( 149116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 150116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch properties_dict.Pass(), 151116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateSetPropertiesFunction::Success, this), 152116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateSetPropertiesFunction::Failure, this)); 153116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 155116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 156116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateSetPropertiesFunction::Success() { 157116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 158116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 159116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 160116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateSetPropertiesFunction::Failure(const std::string& error) { 161116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 162116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 163116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 164116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 165116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 166116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateCreateNetworkFunction 167116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 168116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateCreateNetworkFunction:: 169116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateCreateNetworkFunction() { 170116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 171116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 172116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateCreateNetworkFunction::RunAsync() { 173116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::CreateNetwork::Params> params = 174116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::CreateNetwork::Params::Create(*args_); 175116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 176116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 177116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::DictionaryValue> properties_dict( 178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->properties.ToValue()); 179116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 180116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->CreateNetwork( 181116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->shared, 182116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch properties_dict.Pass(), 183116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateCreateNetworkFunction::Success, this), 184116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateCreateNetworkFunction::Failure, this)); 185116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 186116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 187116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 188116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateCreateNetworkFunction::Success(const std::string& guid) { 189116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::CreateNetwork::Results::Create(guid); 190116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 191116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 192116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 193116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateCreateNetworkFunction::Failure(const std::string& error) { 194116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 195116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 196116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 197116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 198116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 199116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetNetworksFunction 200116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 201116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetNetworksFunction::~NetworkingPrivateGetNetworksFunction() { 202116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 203116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 204116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetNetworksFunction::RunAsync() { 205116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetNetworks::Params> params = 206116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetNetworks::Params::Create(*args_); 207116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 208116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 209116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch std::string network_type = private_api::ToString(params->filter.network_type); 210116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const bool configured_only = 211116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->filter.configured ? *params->filter.configured : false; 212116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const bool visible_only = 213116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->filter.visible ? *params->filter.visible : false; 214116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const int limit = 215116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->filter.limit ? *params->filter.limit : kDefaultNetworkListLimit; 216116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 217116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetNetworks( 218116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch network_type, 219116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch configured_only, 220116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch visible_only, 221116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch limit, 222116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetNetworksFunction::Success, this), 223116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetNetworksFunction::Failure, this)); 224116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 225116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 226116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 227116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetNetworksFunction::Success( 228116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::ListValue> network_list) { 229116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(network_list.release()); 230116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 231116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 232116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 233116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetNetworksFunction::Failure(const std::string& error) { 234116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 235116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 236116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 237116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 238116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 239116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetVisibleNetworksFunction 240116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 241116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetVisibleNetworksFunction:: 242116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetVisibleNetworksFunction() { 243116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 244116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 245116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetVisibleNetworksFunction::RunAsync() { 246116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetVisibleNetworks::Params> params = 247116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetVisibleNetworks::Params::Create(*args_); 248116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 249116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 250116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch std::string network_type = private_api::ToString(params->network_type); 251116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const bool configured_only = false; 252116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const bool visible_only = true; 253116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 254116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetNetworks( 255116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch network_type, 256116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch configured_only, 257116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch visible_only, 258116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch kDefaultNetworkListLimit, 259116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetVisibleNetworksFunction::Success, this), 260116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetVisibleNetworksFunction::Failure, this)); 261116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 262116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 263116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 264116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetVisibleNetworksFunction::Success( 265116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::ListValue> network_properties_list) { 266116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(network_properties_list.release()); 267116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 268116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 269116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 270116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetVisibleNetworksFunction::Failure( 271116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 272116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 273116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 274116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 275116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 276116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 277116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetEnabledNetworkTypesFunction 278116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 279116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetEnabledNetworkTypesFunction:: 280116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetEnabledNetworkTypesFunction() { 281116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 282116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 283116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetEnabledNetworkTypesFunction::RunSync() { 284116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<base::ListValue> enabled_networks_onc_types( 285116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetEnabledNetworkTypes()); 286116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (!enabled_networks_onc_types) { 287116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = networking_private::kErrorNotSupported; 288116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return false; 289116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } 2901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci scoped_ptr<base::ListValue> enabled_networks_list(new base::ListValue); 291116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch for (base::ListValue::iterator iter = enabled_networks_onc_types->begin(); 292116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch iter != enabled_networks_onc_types->end(); ++iter) { 293116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch std::string type; 294116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (!(*iter)->GetAsString(&type)) 295116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch NOTREACHED(); 296116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (type == ::onc::network_type::kEthernet) { 297116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch enabled_networks_list->AppendString(api::networking_private::ToString( 298116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch api::networking_private::NETWORK_TYPE_ETHERNET)); 299116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } else if (type == ::onc::network_type::kWiFi) { 300116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch enabled_networks_list->AppendString(api::networking_private::ToString( 301116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch api::networking_private::NETWORK_TYPE_WIFI)); 302116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } else if (type == ::onc::network_type::kWimax) { 303116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch enabled_networks_list->AppendString(api::networking_private::ToString( 304116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch api::networking_private::NETWORK_TYPE_WIMAX)); 305116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } else if (type == ::onc::network_type::kCellular) { 306116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch enabled_networks_list->AppendString(api::networking_private::ToString( 307116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch api::networking_private::NETWORK_TYPE_CELLULAR)); 308116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } else { 309116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch LOG(ERROR) << "networkingPrivate: Unexpected type: " << type; 310116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } 311116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch } 312116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SetResult(enabled_networks_list.release()); 313116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 314116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 315116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 316116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 317116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateEnableNetworkTypeFunction 318116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 319116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateEnableNetworkTypeFunction:: 320116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateEnableNetworkTypeFunction() { 321116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 322116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 323116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateEnableNetworkTypeFunction::RunSync() { 324116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::EnableNetworkType::Params> params = 325116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::EnableNetworkType::Params::Create(*args_); 326116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 327116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 328116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return GetDelegate(browser_context())->EnableNetworkType( 329116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::ToString(params->network_type)); 330116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 331116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 332116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 333116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateDisableNetworkTypeFunction 334116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 335116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateDisableNetworkTypeFunction:: 336116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateDisableNetworkTypeFunction() { 337116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 338116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 339116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateDisableNetworkTypeFunction::RunSync() { 340116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::DisableNetworkType::Params> params = 341116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::DisableNetworkType::Params::Create(*args_); 342116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 343116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return GetDelegate(browser_context())->DisableNetworkType( 344116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::ToString(params->network_type)); 345116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 346116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 347116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 348116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateRequestNetworkScanFunction 349116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 350116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateRequestNetworkScanFunction:: 351116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateRequestNetworkScanFunction() { 352116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 353116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 354116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateRequestNetworkScanFunction::RunSync() { 355116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return GetDelegate(browser_context())->RequestScan(); 356116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 357116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 358116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 359116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateStartConnectFunction 360116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 361116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateStartConnectFunction:: 362116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateStartConnectFunction() { 363116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 364116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 365116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateStartConnectFunction::RunAsync() { 366116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::StartConnect::Params> params = 367116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::StartConnect::Params::Create(*args_); 368116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 369116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 370116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->StartConnect( 371116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 372116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateStartConnectFunction::Success, this), 373116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateStartConnectFunction::Failure, this)); 374116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 375116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 376116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 377116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateStartConnectFunction::Success() { 378116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 379116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 380116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 381116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateStartConnectFunction::Failure(const std::string& error) { 382116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 383116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 384116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 385116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 386116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 387116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateStartDisconnectFunction 388116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 389116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateStartDisconnectFunction:: 390116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateStartDisconnectFunction() { 391116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 392116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 393116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateStartDisconnectFunction::RunAsync() { 394116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::StartDisconnect::Params> params = 395116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::StartDisconnect::Params::Create(*args_); 396116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 397116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 398116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->StartDisconnect( 399116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 400116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateStartDisconnectFunction::Success, this), 401116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateStartDisconnectFunction::Failure, this)); 402116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 403116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 404116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 405116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateStartDisconnectFunction::Success() { 406116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 407116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 408116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 409116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateStartDisconnectFunction::Failure( 410116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 411116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 412116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 413116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 414116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 415116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 416116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateVerifyDestinationFunction 417116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 418116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateVerifyDestinationFunction:: 419116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateVerifyDestinationFunction() { 420116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 421116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 422116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateVerifyDestinationFunction::RunAsync() { 423116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::VerifyDestination::Params> params = 424116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::VerifyDestination::Params::Create(*args_); 425116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 426116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 427116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->VerifyDestination( 428116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->properties, 429116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyDestinationFunction::Success, this), 430116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyDestinationFunction::Failure, this)); 431116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 432116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 433116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 434116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyDestinationFunction::Success(bool result) { 435116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::VerifyDestination::Results::Create(result); 436116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 437116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 438116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 439116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyDestinationFunction::Failure( 440116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 441116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 442116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 443116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 444116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 445116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 446116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateVerifyAndEncryptCredentialsFunction 447116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 448116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateVerifyAndEncryptCredentialsFunction:: 449116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateVerifyAndEncryptCredentialsFunction() { 450116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 451116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 452116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateVerifyAndEncryptCredentialsFunction::RunAsync() { 453116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::VerifyAndEncryptCredentials::Params> params = 454116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::VerifyAndEncryptCredentials::Params::Create(*args_); 455116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 456116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 457116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->VerifyAndEncryptCredentials( 458116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 459116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->properties, 460116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyAndEncryptCredentialsFunction::Success, 461116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this), 462116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyAndEncryptCredentialsFunction::Failure, 463116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this)); 464116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 465116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 466116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 467116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyAndEncryptCredentialsFunction::Success( 468116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& result) { 469116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::VerifyAndEncryptCredentials::Results::Create(result); 470116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 471116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 472116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 473116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyAndEncryptCredentialsFunction::Failure( 474116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 475116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 476116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 477116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 478116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 479116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 480116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateVerifyAndEncryptDataFunction 481116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 482116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateVerifyAndEncryptDataFunction:: 483116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateVerifyAndEncryptDataFunction() { 484116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 485116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 486116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateVerifyAndEncryptDataFunction::RunAsync() { 487116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::VerifyAndEncryptData::Params> params = 488116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::VerifyAndEncryptData::Params::Create(*args_); 489116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 490116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 491116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->VerifyAndEncryptData( 492116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->properties, 493116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->data, 494116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyAndEncryptDataFunction::Success, this), 495116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateVerifyAndEncryptDataFunction::Failure, 496116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this)); 497116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 498116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 499116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 500116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyAndEncryptDataFunction::Success( 501116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& result) { 502116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::VerifyAndEncryptData::Results::Create(result); 503116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 504116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 505116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 506116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateVerifyAndEncryptDataFunction::Failure( 507116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 508116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 509116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 510116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 511116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 512116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 513116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateSetWifiTDLSEnabledStateFunction 514116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 515116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateSetWifiTDLSEnabledStateFunction:: 516116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateSetWifiTDLSEnabledStateFunction() { 517116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 518116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 519116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateSetWifiTDLSEnabledStateFunction::RunAsync() { 520116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::SetWifiTDLSEnabledState::Params> params = 521116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::SetWifiTDLSEnabledState::Params::Create(*args_); 522116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 523116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 524116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->SetWifiTDLSEnabledState( 525116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->ip_or_mac_address, 526116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->enabled, 527116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateSetWifiTDLSEnabledStateFunction::Success, 528116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this), 529116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateSetWifiTDLSEnabledStateFunction::Failure, 530116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this)); 531116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 532116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 533116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 534116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 535116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateSetWifiTDLSEnabledStateFunction::Success( 536116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& result) { 537116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::SetWifiTDLSEnabledState::Results::Create(result); 538116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 539116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 540116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 541116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateSetWifiTDLSEnabledStateFunction::Failure( 542116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 543116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 544116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 545116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 546116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 547116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 548116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetWifiTDLSStatusFunction 549116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 550116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetWifiTDLSStatusFunction:: 551116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetWifiTDLSStatusFunction() { 552116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 553116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 554116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetWifiTDLSStatusFunction::RunAsync() { 555116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetWifiTDLSStatus::Params> params = 556116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetWifiTDLSStatus::Params::Create(*args_); 557116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 558116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 559116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetWifiTDLSStatus( 560116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->ip_or_mac_address, 561116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetWifiTDLSStatusFunction::Success, this), 562116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetWifiTDLSStatusFunction::Failure, this)); 563116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 564116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 565116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 566116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 567116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetWifiTDLSStatusFunction::Success( 568116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& result) { 569116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::GetWifiTDLSStatus::Results::Create(result); 570116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 571116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 572116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 573116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetWifiTDLSStatusFunction::Failure( 574116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 575116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 576116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 577116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 578116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 579116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//////////////////////////////////////////////////////////////////////////////// 580116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// NetworkingPrivateGetCaptivePortalStatusFunction 581116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 582116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkingPrivateGetCaptivePortalStatusFunction:: 583116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~NetworkingPrivateGetCaptivePortalStatusFunction() { 584116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 585116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 586116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool NetworkingPrivateGetCaptivePortalStatusFunction::RunAsync() { 587116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch scoped_ptr<private_api::GetCaptivePortalStatus::Params> params = 588116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::GetCaptivePortalStatus::Params::Create(*args_); 589116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EXTENSION_FUNCTION_VALIDATE(params); 590116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 591116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch GetDelegate(browser_context())->GetCaptivePortalStatus( 592116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch params->network_guid, 593116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetCaptivePortalStatusFunction::Success, 594116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this), 595116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch base::Bind(&NetworkingPrivateGetCaptivePortalStatusFunction::Failure, 596116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch this)); 597116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return true; 598116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 599116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 600116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetCaptivePortalStatusFunction::Success( 601116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& result) { 602116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch results_ = private_api::GetCaptivePortalStatus::Results::Create( 603116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private_api::ParseCaptivePortalStatus(result)); 604116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(true); 605116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 606116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 607116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkingPrivateGetCaptivePortalStatusFunction::Failure( 608116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& error) { 609116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch error_ = error; 610116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SendResponse(false); 611116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 612116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 613116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace extensions 614