OLD | NEW |
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/native_network_parser.h" | 5 #include "chrome/browser/chromeos/cros/native_network_parser.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 } | 544 } |
545 | 545 |
546 bool NativeNetworkDeviceParser::ParseSimLockStateFromDictionary( | 546 bool NativeNetworkDeviceParser::ParseSimLockStateFromDictionary( |
547 const DictionaryValue& info, | 547 const DictionaryValue& info, |
548 SimLockState* out_state, | 548 SimLockState* out_state, |
549 int* out_retries, | 549 int* out_retries, |
550 bool* out_enabled) { | 550 bool* out_enabled) { |
551 std::string state_string; | 551 std::string state_string; |
552 // Since RetriesLeft is sent as a uint32, which may overflow int32 range, from | 552 // Since RetriesLeft is sent as a uint32, which may overflow int32 range, from |
553 // Flimflam, it may be stored as an integer or a double in DictionaryValue. | 553 // Flimflam, it may be stored as an integer or a double in DictionaryValue. |
554 base::Value* retries_value = NULL; | 554 const base::Value* retries_value = NULL; |
555 if (!info.GetString(flimflam::kSIMLockTypeProperty, &state_string) || | 555 if (!info.GetString(flimflam::kSIMLockTypeProperty, &state_string) || |
556 !info.GetBoolean(flimflam::kSIMLockEnabledProperty, out_enabled) || | 556 !info.GetBoolean(flimflam::kSIMLockEnabledProperty, out_enabled) || |
557 !info.Get(flimflam::kSIMLockRetriesLeftProperty, &retries_value) || | 557 !info.Get(flimflam::kSIMLockRetriesLeftProperty, &retries_value) || |
558 (retries_value->GetType() != base::Value::TYPE_INTEGER && | 558 (retries_value->GetType() != base::Value::TYPE_INTEGER && |
559 retries_value->GetType() != base::Value::TYPE_DOUBLE)) { | 559 retries_value->GetType() != base::Value::TYPE_DOUBLE)) { |
560 LOG(ERROR) << "Error parsing SIMLock state"; | 560 LOG(ERROR) << "Error parsing SIMLock state"; |
561 return false; | 561 return false; |
562 } | 562 } |
563 *out_state = ParseSimLockState(state_string); | 563 *out_state = ParseSimLockState(state_string); |
564 if (retries_value->GetType() == base::Value::TYPE_INTEGER) { | 564 if (retries_value->GetType() == base::Value::TYPE_INTEGER) { |
(...skipping 717 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1282 // TODO(rkc): Figure out why is this ever not true and fix the root | 1282 // TODO(rkc): Figure out why is this ever not true and fix the root |
1283 // cause. 'value' comes to us all the way from the cros dbus call, the | 1283 // cause. 'value' comes to us all the way from the cros dbus call, the |
1284 // issue is likely on the cros side of things. | 1284 // issue is likely on the cros side of things. |
1285 if (value.GetType() != Value::TYPE_DICTIONARY) | 1285 if (value.GetType() != Value::TYPE_DICTIONARY) |
1286 return false; | 1286 return false; |
1287 | 1287 |
1288 const DictionaryValue& dict = static_cast<const DictionaryValue&>(value); | 1288 const DictionaryValue& dict = static_cast<const DictionaryValue&>(value); |
1289 for (DictionaryValue::key_iterator iter = dict.begin_keys(); | 1289 for (DictionaryValue::key_iterator iter = dict.begin_keys(); |
1290 iter != dict.end_keys(); ++iter) { | 1290 iter != dict.end_keys(); ++iter) { |
1291 const std::string& key = *iter; | 1291 const std::string& key = *iter; |
1292 base::Value* provider_value; | 1292 const base::Value* provider_value; |
1293 bool res = dict.GetWithoutPathExpansion(key, &provider_value); | 1293 bool res = dict.GetWithoutPathExpansion(key, &provider_value); |
1294 DCHECK(res); | 1294 DCHECK(res); |
1295 if (res) { | 1295 if (res) { |
1296 PropertyIndex index = mapper().Get(key); | 1296 PropertyIndex index = mapper().Get(key); |
1297 if (!ParseProviderValue(index, *provider_value, virtual_network)) | 1297 if (!ParseProviderValue(index, *provider_value, virtual_network)) |
1298 VLOG(1) << network->name() << ": Provider unhandled key: " << key | 1298 VLOG(1) << network->name() << ": Provider unhandled key: " << key |
1299 << " Type: " << provider_value->GetType(); | 1299 << " Type: " << provider_value->GetType(); |
1300 } | 1300 } |
1301 } | 1301 } |
1302 return true; | 1302 return true; |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1407 PROVIDER_TYPE_MAX)); | 1407 PROVIDER_TYPE_MAX)); |
1408 return &parser; | 1408 return &parser; |
1409 } | 1409 } |
1410 | 1410 |
1411 ProviderType NativeVirtualNetworkParser::ParseProviderType( | 1411 ProviderType NativeVirtualNetworkParser::ParseProviderType( |
1412 const std::string& type) { | 1412 const std::string& type) { |
1413 return provider_type_mapper()->Get(type); | 1413 return provider_type_mapper()->Get(type); |
1414 } | 1414 } |
1415 | 1415 |
1416 } // namespace chromeos | 1416 } // namespace chromeos |
OLD | NEW |