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

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

Issue 8821023: Laning http://codereview.chromium.org/8759014/ on behalf of kmixter: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/network_library.h" 5 #include "chrome/browser/chromeos/cros/network_library.h"
6 6
7 #include <dbus/dbus-glib.h> 7 #include <dbus/dbus-glib.h>
8 #include <dbus/dbus-gtype-specialized.h> 8 #include <dbus/dbus-gtype-specialized.h>
9 #include <glib-object.h> 9 #include <glib-object.h>
10 10
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 return new GValue(); 317 return new GValue();
318 } 318 }
319 319
320 GHashTable* ConvertDictionaryValueToGValueMap(const DictionaryValue* dict) { 320 GHashTable* ConvertDictionaryValueToGValueMap(const DictionaryValue* dict) {
321 GHashTable* ghash = 321 GHashTable* ghash =
322 g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); 322 g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
323 for (DictionaryValue::key_iterator it = dict->begin_keys(); 323 for (DictionaryValue::key_iterator it = dict->begin_keys();
324 it != dict->end_keys(); ++it) { 324 it != dict->end_keys(); ++it) {
325 std::string key = *it; 325 std::string key = *it;
326 Value* val = NULL; 326 Value* val = NULL;
327 if (dict->Get(key, &val)) { 327 if (dict->GetWithoutPathExpansion(key, &val)) {
328 g_hash_table_insert(ghash, 328 g_hash_table_insert(ghash,
329 g_strdup(const_cast<char*>(key.c_str())), 329 g_strdup(const_cast<char*>(key.c_str())),
330 ConvertValueToGValue(val)); 330 ConvertValueToGValue(val));
331 } else {
332 VLOG(2) << "Could not insert key " << key << " into hash";
331 } 333 }
332 } 334 }
333 return ghash; 335 return ghash;
334 } 336 }
335 337
336 } // namespace 338 } // namespace
337 339
338 //////////////////////////////////////////////////////////////////////////////// 340 ////////////////////////////////////////////////////////////////////////////////
339 // FoundCellularNetwork 341 // FoundCellularNetwork
340 342
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 delete entry; 417 delete entry;
416 entry = value.DeepCopy(); 418 entry = value.DeepCopy();
417 if (VLOG_IS_ON(2)) { 419 if (VLOG_IS_ON(2)) {
418 std::string value_json; 420 std::string value_json;
419 base::JSONWriter::Write(&value, true, &value_json); 421 base::JSONWriter::Write(&value, true, &value_json);
420 VLOG(2) << "Updated property map on network: " 422 VLOG(2) << "Updated property map on network: "
421 << unique_id() << "[" << index << "] = " << value_json; 423 << unique_id() << "[" << index << "] = " << value_json;
422 } 424 }
423 } 425 }
424 426
427 bool Network::GetProperty(PropertyIndex index,
428 const base::Value** value) const {
429 PropertyMap::const_iterator i = property_map_.find(index);
430 if (i == property_map_.end())
431 return false;
432 if (value != NULL)
433 *value = i->second;
434 return true;
435 }
436
425 void Network::SetState(ConnectionState new_state) { 437 void Network::SetState(ConnectionState new_state) {
426 if (new_state == state_) 438 if (new_state == state_)
427 return; 439 return;
428 ConnectionState old_state = state_; 440 ConnectionState old_state = state_;
429 state_ = new_state; 441 state_ = new_state;
430 if (!IsConnectingState(new_state)) 442 if (!IsConnectingState(new_state))
431 set_connection_started(false); 443 set_connection_started(false);
432 if (new_state == STATE_FAILURE) { 444 if (new_state == STATE_FAILURE) {
433 if (old_state != STATE_UNKNOWN && 445 if (old_state != STATE_UNKNOWN &&
434 old_state != STATE_IDLE) { 446 old_state != STATE_IDLE) {
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 user_passphrase, &user_passphrase_); 812 user_passphrase, &user_passphrase_);
801 SetStringProperty(flimflam::kL2tpIpsecGroupNameProperty, 813 SetStringProperty(flimflam::kL2tpIpsecGroupNameProperty,
802 group_name, &group_name_); 814 group_name, &group_name_);
803 } 815 }
804 816
805 void VirtualNetwork::SetOpenVPNCredentials( 817 void VirtualNetwork::SetOpenVPNCredentials(
806 const std::string& client_cert_id, 818 const std::string& client_cert_id,
807 const std::string& username, 819 const std::string& username,
808 const std::string& user_passphrase, 820 const std::string& user_passphrase,
809 const std::string& otp) { 821 const std::string& otp) {
822 // TODO(kmixter): Are we missing setting the CaCert property?
810 SetStringProperty(flimflam::kOpenVPNClientCertIdProperty, 823 SetStringProperty(flimflam::kOpenVPNClientCertIdProperty,
811 client_cert_id, &client_cert_id_); 824 client_cert_id, &client_cert_id_);
812 SetStringProperty(flimflam::kOpenVPNUserProperty, username, &username_); 825 SetStringProperty(flimflam::kOpenVPNUserProperty, username, &username_);
813 SetStringProperty(flimflam::kOpenVPNPasswordProperty, 826 SetStringProperty(flimflam::kOpenVPNPasswordProperty,
814 user_passphrase, &user_passphrase_); 827 user_passphrase, &user_passphrase_);
815 SetStringProperty(flimflam::kOpenVPNOTPProperty, otp, NULL); 828 SetStringProperty(flimflam::kOpenVPNOTPProperty, otp, NULL);
816 } 829 }
817 830
818 void VirtualNetwork::SetCertificateSlotAndPin( 831 void VirtualNetwork::SetCertificateSlotAndPin(
819 const std::string& slot, const std::string& pin) { 832 const std::string& slot, const std::string& pin) {
(...skipping 2009 matching lines...) Expand 10 before | Expand all | Expand 10 after
2829 if (!parser.ParseCertificate(i)) { 2842 if (!parser.ParseCertificate(i)) {
2830 DLOG(WARNING) << "Cannot parse certificate in ONC file"; 2843 DLOG(WARNING) << "Cannot parse certificate in ONC file";
2831 return false; 2844 return false;
2832 } 2845 }
2833 } 2846 }
2834 2847
2835 for (int i = 0; i < parser.GetNetworkConfigsSize(); i++) { 2848 for (int i = 0; i < parser.GetNetworkConfigsSize(); i++) {
2836 // Parse Open Network Configuration blob into a temporary Network object. 2849 // Parse Open Network Configuration blob into a temporary Network object.
2837 scoped_ptr<Network> network(parser.ParseNetwork(i)); 2850 scoped_ptr<Network> network(parser.ParseNetwork(i));
2838 if (!network.get()) { 2851 if (!network.get()) {
2839 DLOG(WARNING) << "Cannot parse networks in ONC file"; 2852 DLOG(WARNING) << "Cannot parse network in ONC file";
2840 return false; 2853 return false;
2841 } 2854 }
2842 2855
2843 DictionaryValue dict; 2856 DictionaryValue dict;
2844 for (Network::PropertyMap::const_iterator props = 2857 for (Network::PropertyMap::const_iterator props =
2845 network->property_map_.begin(); 2858 network->property_map_.begin();
2846 props != network->property_map_.end(); ++props) { 2859 props != network->property_map_.end(); ++props) {
2847 std::string key = 2860 std::string key =
2848 NativeNetworkParser::property_mapper()->GetKey(props->first); 2861 NativeNetworkParser::property_mapper()->GetKey(props->first);
2849 if (!key.empty()) 2862 if (!key.empty())
2850 dict.SetWithoutPathExpansion(key, props->second->DeepCopy()); 2863 dict.SetWithoutPathExpansion(key, props->second->DeepCopy());
2864 else
2865 VLOG(2) << "Property " << props->first << " will not be sent";
2851 } 2866 }
2852 2867
2853 CallConfigureService(network->unique_id(), &dict); 2868 CallConfigureService(network->unique_id(), &dict);
2854 } 2869 }
2855 return parser.GetNetworkConfigsSize() != 0; 2870 return parser.GetNetworkConfigsSize() != 0;
2856 } 2871 }
2857 2872
2858 //////////////////////////////////////////////////////////////////////////// 2873 ////////////////////////////////////////////////////////////////////////////
2859 // Testing functions. 2874 // Testing functions.
2860 2875
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
3685 if (error != NETWORK_METHOD_ERROR_NONE) { 3700 if (error != NETWORK_METHOD_ERROR_NONE) {
3686 LOG(WARNING) << "Error from ConfigureService callback for: " 3701 LOG(WARNING) << "Error from ConfigureService callback for: "
3687 << service_path 3702 << service_path
3688 << " Error: " << error << " Message: " << error_message; 3703 << " Error: " << error << " Message: " << error_message;
3689 } 3704 }
3690 } 3705 }
3691 3706
3692 void NetworkLibraryImplCros::CallConfigureService(const std::string& identifier, 3707 void NetworkLibraryImplCros::CallConfigureService(const std::string& identifier,
3693 const DictionaryValue* info) { 3708 const DictionaryValue* info) {
3694 GHashTable* ghash = ConvertDictionaryValueToGValueMap(info); 3709 GHashTable* ghash = ConvertDictionaryValueToGValueMap(info);
3710 if (VLOG_IS_ON(2)) {
3711 scoped_ptr<DictionaryValue> dict(ConvertGHashTable(ghash));
3712 std::string dict_json;
3713 base::JSONWriter::Write(static_cast<Value*>(dict.get()), true, &dict_json);
3714 VLOG(2) << "ConfigureService will be called on:" << dict_json;
3715 }
3695 chromeos::ConfigureService(identifier.c_str(), ghash, 3716 chromeos::ConfigureService(identifier.c_str(), ghash,
3696 ConfigureServiceCallback, this); 3717 ConfigureServiceCallback, this);
3697 } 3718 }
3698 3719
3699 // static callback 3720 // static callback
3700 void NetworkLibraryImplCros::NetworkConnectCallback( 3721 void NetworkLibraryImplCros::NetworkConnectCallback(
3701 void* object, 3722 void* object,
3702 const char* service_path, 3723 const char* service_path,
3703 NetworkMethodErrorType error, 3724 NetworkMethodErrorType error,
3704 const char* error_message) { 3725 const char* error_message) {
(...skipping 1615 matching lines...) Expand 10 before | Expand all | Expand 10 after
5320 return impl; 5341 return impl;
5321 } 5342 }
5322 5343
5323 ///////////////////////////////////////////////////////////////////////////// 5344 /////////////////////////////////////////////////////////////////////////////
5324 5345
5325 } // namespace chromeos 5346 } // namespace chromeos
5326 5347
5327 // Allows InvokeLater without adding refcounting. This class is a Singleton and 5348 // Allows InvokeLater without adding refcounting. This class is a Singleton and
5328 // won't be deleted until its last InvokeLater is run. 5349 // won't be deleted until its last InvokeLater is run.
5329 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase); 5350 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase);
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/cros/network_library.h ('k') | chrome/browser/chromeos/cros/onc_network_parser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698