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

Side by Side Diff: chrome/browser/chromeos/cros/cros_network_functions.cc

Issue 10164026: Reimplement RequestHiddenWifiNetworkProperties and RequestVirtualNetworkProperties without Libcros (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/cros_network_functions_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/cros/cros_network_functions.h" 5 #include "chrome/browser/chromeos/cros/cros_network_functions.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/chromeos/cros/gvalue_util.h" 10 #include "chrome/browser/chromeos/cros/gvalue_util.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 } 204 }
205 205
206 // A callback used to implement CrosRequest*Properties functions. 206 // A callback used to implement CrosRequest*Properties functions.
207 void RunCallbackWithDictionaryValue(const NetworkPropertiesCallback& callback, 207 void RunCallbackWithDictionaryValue(const NetworkPropertiesCallback& callback,
208 const std::string& path, 208 const std::string& path,
209 DBusMethodCallStatus call_status, 209 DBusMethodCallStatus call_status,
210 const base::DictionaryValue& value) { 210 const base::DictionaryValue& value) {
211 callback.Run(path, call_status == DBUS_METHOD_CALL_SUCCESS ? &value : NULL); 211 callback.Run(path, call_status == DBUS_METHOD_CALL_SUCCESS ? &value : NULL);
212 } 212 }
213 213
214 // Used as a callback for FlimflamManagerClient::GetService
215 void OnGetService(const NetworkPropertiesCallback& callback,
216 DBusMethodCallStatus call_status,
217 const dbus::ObjectPath& service_path) {
218 if (call_status == DBUS_METHOD_CALL_SUCCESS) {
219 DBusThreadManager::Get()->GetFlimflamServiceClient()->GetProperties(
220 service_path, base::Bind(&RunCallbackWithDictionaryValue,
221 callback,
222 service_path.value()));
223 }
224 }
225
214 // Used as a callback for chromeos::ConfigureService. 226 // Used as a callback for chromeos::ConfigureService.
215 void OnConfigureService(void* object, 227 void OnConfigureService(void* object,
216 const char* service_path, 228 const char* service_path,
217 NetworkMethodErrorType error, 229 NetworkMethodErrorType error,
218 const char* error_message) { 230 const char* error_message) {
219 if (error != NETWORK_METHOD_ERROR_NONE) { 231 if (error != NETWORK_METHOD_ERROR_NONE) {
220 LOG(WARNING) << "Error from ConfigureService callback: " 232 LOG(WARNING) << "Error from ConfigureService callback: "
221 << " Error: " << error << " Message: " << error_message; 233 << " Error: " << error << " Message: " << error_message;
222 } 234 }
223 } 235 }
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 base::Bind(&RunCallbackWithDictionaryValue, 470 base::Bind(&RunCallbackWithDictionaryValue,
459 callback, 471 callback,
460 profile_entry_path)); 472 profile_entry_path));
461 } 473 }
462 } 474 }
463 475
464 void CrosRequestHiddenWifiNetworkProperties( 476 void CrosRequestHiddenWifiNetworkProperties(
465 const std::string& ssid, 477 const std::string& ssid,
466 const std::string& security, 478 const std::string& security,
467 const NetworkPropertiesCallback& callback) { 479 const NetworkPropertiesCallback& callback) {
468 // The newly allocated callback will be deleted in OnRequestNetworkProperties. 480 if (g_libcros_network_functions_enabled) {
469 chromeos::RequestHiddenWifiNetworkProperties( 481 // The newly allocated callback will be deleted in
470 ssid.c_str(), 482 // OnRequestNetworkProperties.
471 security.c_str(), 483 chromeos::RequestHiddenWifiNetworkProperties(
472 &OnRequestNetworkProperties, 484 ssid.c_str(),
473 new OnRequestNetworkPropertiesCallback(callback)); 485 security.c_str(),
486 &OnRequestNetworkProperties,
487 new OnRequestNetworkPropertiesCallback(callback));
488 } else {
489 base::DictionaryValue properties;
490 properties.SetWithoutPathExpansion(
491 flimflam::kModeProperty,
492 base::Value::CreateStringValue(flimflam::kModeManaged));
493 properties.SetWithoutPathExpansion(
494 flimflam::kTypeProperty,
495 base::Value::CreateStringValue(flimflam::kTypeWifi));
496 properties.SetWithoutPathExpansion(
497 flimflam::kSSIDProperty,
498 base::Value::CreateStringValue(ssid));
499 properties.SetWithoutPathExpansion(
500 flimflam::kSecurityProperty,
501 base::Value::CreateStringValue(security));
502 // flimflam.Manger.GetService() will apply the property changes in
503 // |properties| and return a new or existing service to OnGetService().
504 // OnGetService will then call GetProperties which will then call callback.
505 DBusThreadManager::Get()->GetFlimflamManagerClient()->GetService(
506 properties, base::Bind(&OnGetService, callback));
507 }
474 } 508 }
475 509
476 void CrosRequestVirtualNetworkProperties( 510 void CrosRequestVirtualNetworkProperties(
477 const std::string& service_name, 511 const std::string& service_name,
478 const std::string& server_hostname, 512 const std::string& server_hostname,
479 const std::string& provider_type, 513 const std::string& provider_type,
480 const NetworkPropertiesCallback& callback) { 514 const NetworkPropertiesCallback& callback) {
481 // The newly allocated callback will be deleted in OnRequestNetworkProperties. 515 if (g_libcros_network_functions_enabled) {
482 chromeos::RequestVirtualNetworkProperties( 516 // The newly allocated callback will be deleted in
483 service_name.c_str(), 517 // OnRequestNetworkProperties.
484 server_hostname.c_str(), 518 chromeos::RequestVirtualNetworkProperties(
485 provider_type.c_str(), 519 service_name.c_str(),
486 &OnRequestNetworkProperties, 520 server_hostname.c_str(),
487 new OnRequestNetworkPropertiesCallback(callback)); 521 provider_type.c_str(),
522 &OnRequestNetworkProperties,
523 new OnRequestNetworkPropertiesCallback(callback));
524 } else {
525 base::DictionaryValue properties;
526 properties.SetWithoutPathExpansion(
527 flimflam::kTypeProperty, base::Value::CreateStringValue("vpn"));
stevenjb 2012/04/23 21:37:26 Use kTypeVPN
hashimoto 2012/04/24 03:53:11 Done.
528 properties.SetWithoutPathExpansion(
529 flimflam::kProviderNameProperty,
530 base::Value::CreateStringValue(service_name));
531 properties.SetWithoutPathExpansion(
532 flimflam::kProviderHostProperty,
533 base::Value::CreateStringValue(server_hostname));
534 properties.SetWithoutPathExpansion(
535 flimflam::kProviderTypeProperty,
536 base::Value::CreateStringValue(provider_type));
537 // The actual value of Domain does not matter, so just use service_name.
538 properties.SetWithoutPathExpansion(
539 flimflam::kVPNDomainProperty,
540 base::Value::CreateStringValue(service_name));
541
542 // flimflam.Manger.GetService() will apply the property changes in
543 // |properties| and pass a new or existing service to OnGetService().
544 // OnGetService will then call GetProperties which will then call callback.
545 DBusThreadManager::Get()->GetFlimflamManagerClient()->GetService(
546 properties, base::Bind(&OnGetService, callback));
547 }
488 } 548 }
489 549
490 void CrosRequestNetworkServiceDisconnect(const std::string& service_path) { 550 void CrosRequestNetworkServiceDisconnect(const std::string& service_path) {
491 if (g_libcros_network_functions_enabled) { 551 if (g_libcros_network_functions_enabled) {
492 chromeos::RequestNetworkServiceDisconnect(service_path.c_str()); 552 chromeos::RequestNetworkServiceDisconnect(service_path.c_str());
493 } else { 553 } else {
494 DBusThreadManager::Get()->GetFlimflamServiceClient()->Disconnect( 554 DBusThreadManager::Get()->GetFlimflamServiceClient()->Disconnect(
495 dbus::ObjectPath(service_path), base::Bind(&DoNothing)); 555 dbus::ObjectPath(service_path), base::Bind(&DoNothing));
496 } 556 }
497 } 557 }
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 ScopedGHashTable ghash( 725 ScopedGHashTable ghash(
666 ConvertDictionaryValueToStringValueGHashTable(properties)); 726 ConvertDictionaryValueToStringValueGHashTable(properties));
667 chromeos::ConfigureService("", ghash.get(), OnConfigureService, NULL); 727 chromeos::ConfigureService("", ghash.get(), OnConfigureService, NULL);
668 } else { 728 } else {
669 DBusThreadManager::Get()->GetFlimflamManagerClient()->ConfigureService( 729 DBusThreadManager::Get()->GetFlimflamManagerClient()->ConfigureService(
670 properties, base::Bind(&DoNothing)); 730 properties, base::Bind(&DoNothing));
671 } 731 }
672 } 732 }
673 733
674 } // namespace chromeos 734 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/cros_network_functions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698