diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 06:21:40 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 06:21:40 +0000 |
commit | edf1e492aaea5cd30ac5e407dc7149c848e89ee5 (patch) | |
tree | c10d57898a082f9175b4ffeaec64ebb576dcee49 /chromeos/network/shill_property_util.cc | |
parent | 1d65acd5b5839c49e2bf451387c8143984379006 (diff) | |
download | chromium_src-edf1e492aaea5cd30ac5e407dc7149c848e89ee5.zip chromium_src-edf1e492aaea5cd30ac5e407dc7149c848e89ee5.tar.gz chromium_src-edf1e492aaea5cd30ac5e407dc7149c848e89ee5.tar.bz2 |
Add Device properties for Cellular to MNCH for networkingPrivate
BUG=374003
Review URL: https://codereview.chromium.org/291553002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272119 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network/shill_property_util.cc')
-rw-r--r-- | chromeos/network/shill_property_util.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/chromeos/network/shill_property_util.cc b/chromeos/network/shill_property_util.cc index 0bf6d84..f8e90b5 100644 --- a/chromeos/network/shill_property_util.cc +++ b/chromeos/network/shill_property_util.cc @@ -318,6 +318,33 @@ bool IsPassphraseKey(const std::string& key) { key == shill::kApnPasswordProperty; } +bool GetHomeProviderFromProperty(const base::Value& value, + std::string* home_provider_id) { + const base::DictionaryValue* dict = NULL; + if (!value.GetAsDictionary(&dict)) + return false; + std::string home_provider_country; + std::string home_provider_name; + dict->GetStringWithoutPathExpansion(shill::kOperatorCountryKey, + &home_provider_country); + dict->GetStringWithoutPathExpansion(shill::kOperatorNameKey, + &home_provider_name); + // Set home_provider_id + if (!home_provider_name.empty() && !home_provider_country.empty()) { + *home_provider_id = base::StringPrintf( + "%s (%s)", home_provider_name.c_str(), home_provider_country.c_str()); + } else { + if (!dict->GetStringWithoutPathExpansion(shill::kOperatorCodeKey, + home_provider_id)) { + return false; + } + LOG(WARNING) + << "Provider name and country not defined, using code instead: " + << *home_provider_id; + } + return true; +} + } // namespace shill_property_util namespace { |