OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chromeos/network/device_state.h" | |
6 | |
7 #include "base/logging.h" | |
8 #include "base/stringprintf.h" | |
9 #include "base/values.h" | |
10 #include "third_party/cros_system_api/dbus/service_constants.h" | |
11 | |
12 namespace chromeos { | |
13 | |
14 DeviceState::DeviceState(const std::string& path) | |
15 : ManagedState(MANAGED_TYPE_DEVICE, path), | |
16 provider_requires_roaming_(false), | |
17 support_network_scan_(false) { | |
18 } | |
19 | |
20 DeviceState::~DeviceState() { | |
21 } | |
22 | |
23 bool DeviceState::PropertyChanged(const std::string& key, | |
24 const base::Value& value) { | |
25 if (ManagedStatePropertyChanged(key, value)) | |
26 return true; | |
27 if (key == flimflam::kAddressProperty) { | |
28 return GetStringValue(key, value, &mac_address_); | |
29 } else if (key == flimflam::kSupportNetworkScanProperty) { | |
30 return GetBooleanValue(key, value, &support_network_scan_); | |
31 } else if (key == shill::kProviderRequiresRoamingProperty) { | |
32 return GetBooleanValue(key, value, &provider_requires_roaming_); | |
33 } else if (key == flimflam::kHomeProviderProperty) { | |
34 const DictionaryValue* dict = NULL; | |
35 if (!value.GetAsDictionary(&dict)) | |
36 return false; | |
37 std::string home_provider_country; | |
38 std::string home_provider_name; | |
39 dict->GetStringWithoutPathExpansion(flimflam::kOperatorCountryKey, | |
40 &home_provider_country); | |
41 dict->GetStringWithoutPathExpansion(flimflam::kOperatorNameKey, | |
42 &home_provider_name); | |
43 // Set home_provider_id_ | |
44 if (!home_provider_name.empty() && !home_provider_country.empty()) { | |
45 home_provider_id_ = base::StringPrintf( | |
46 "%s (%s)", | |
47 home_provider_name.c_str(), | |
48 home_provider_country.c_str()); | |
49 } else { | |
50 dict->GetStringWithoutPathExpansion(flimflam::kOperatorCodeKey, | |
51 &home_provider_id_); | |
52 LOG(WARNING) << "Carrier ID not defined, using code instead: " | |
53 << home_provider_id_; | |
54 } | |
55 } | |
gauravsh
2012/11/06 01:56:59
Don't you need to return true here?
stevenjb
2012/11/06 03:17:03
Done.
| |
56 return false; | |
57 } | |
58 | |
59 } // namespace chromeos | |
OLD | NEW |