diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 23:47:42 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 23:47:42 +0000 |
commit | 7b947813dafb0ad5e6e2eee08fd207e048a11eb2 (patch) | |
tree | 2a819f09c727a2d746173047691338dc5c7688f2 /chrome/browser/chromeos | |
parent | fef3e1b59b2ee7890c718faecc17507e0f12ac03 (diff) | |
download | chromium_src-7b947813dafb0ad5e6e2eee08fd207e048a11eb2.zip chromium_src-7b947813dafb0ad5e6e2eee08fd207e048a11eb2.tar.gz chromium_src-7b947813dafb0ad5e6e2eee08fd207e048a11eb2.tar.bz2 |
chromium-os:7127, part 2: Add new cellular network data to network_library.
BUG=http://code.google.com/p/chromium-os/issues/detail?id=7127
TEST=Ensure network menu and network settings are unbroken. Actual testing will occur when new data is consumed, pending completion of http://codereview.chromium.org/3387025/show.
Review URL: http://codereview.chromium.org/3564015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61884 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.cc | 101 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros/network_library.h | 21 |
2 files changed, 94 insertions, 28 deletions
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc index b18901a..7e118bd 100644 --- a/chrome/browser/chromeos/cros/network_library.cc +++ b/chrome/browser/chromeos/cros/network_library.cc @@ -6,11 +6,13 @@ #include <algorithm> +#include "app/l10n_util.h" #include "base/string_number_conversions.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" #include "chrome/browser/chrome_thread.h" #include "chrome/browser/chromeos/cros/cros_library.h" +#include "grit/generated_resources.h" namespace chromeos { @@ -59,6 +61,12 @@ static std::string ToHtmlTableRow(Network* network) { return str; } +// Safe string constructor since we can't rely on non NULL pointers +// for string values from libcros. +static std::string SafeString(const char* s) { + return s ? std::string(s) : std::string(); +} + //////////////////////////////////////////////////////////////////////////////// // Network @@ -75,8 +83,8 @@ void Network::ConfigureFromService(const ServiceInfo& service) { type_ = service.type; state_ = service.state; error_ = service.error; - service_path_ = service.service_path; - device_path_ = service.device_path ? service.device_path : std::string(); + service_path_ = SafeString(service.service_path); + device_path_ = SafeString(service.device_path); ip_address_.clear(); // If connected, get ip config. if (connected() && service.device_path) { @@ -92,52 +100,70 @@ void Network::ConfigureFromService(const ServiceInfo& service) { } } +// Used by GetHtmlInfo() which is called from the about:network handler. std::string Network::GetStateString() { switch (state_) { case STATE_UNKNOWN: - return "Unknown"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_UNKNOWN); case STATE_IDLE: - return "Idle"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_IDLE); case STATE_CARRIER: - return "Carrier"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_CARRIER); case STATE_ASSOCIATION: - return "Association"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_ASSOCIATION); case STATE_CONFIGURATION: - return "Configuration"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_CONFIGURATION); case STATE_READY: - return "Ready"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_READY); case STATE_DISCONNECT: - return "Disconnect"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_DISCONNECT); case STATE_FAILURE: - return "Failure"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_FAILURE); + case STATE_ACTIVATION_FAILURE: + return l10n_util::GetStringUTF8( + IDS_CHROMEOS_NETWORK_STATE_ACTIVATION_FAILURE); default: // Usually no default, but changes to libcros may add states. break; } - return "Unrecognized State"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_UNRECOGNIZED); } std::string Network::GetErrorString() { switch (error_) { case ERROR_UNKNOWN: - return "Unknown Error"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_UNKNOWN); case ERROR_OUT_OF_RANGE: - return "Out Of Range"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_OUT_OF_RANGE); case ERROR_PIN_MISSING: - return "Pin Missing"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_PIN_MISSING); case ERROR_DHCP_FAILED: - return "DHCP Failed"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_DHCP_FAILED); case ERROR_CONNECT_FAILED: - return "Connect Failed"; + return l10n_util::GetStringUTF8( + IDS_CHROMEOS_NETWORK_ERROR_CONNECT_FAILED); case ERROR_BAD_PASSPHRASE: - return "Bad Passphrase"; + return l10n_util::GetStringUTF8( + IDS_CHROMEOS_NETWORK_ERROR_BAD_PASSPHRASE); case ERROR_BAD_WEPKEY: - return "Bad WEP Key"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_BAD_WEPKEY); + case ERROR_ACTIVATION_FAILED: + return l10n_util::GetStringUTF8( + IDS_CHROMEOS_NETWORK_ERROR_ACTIVATION_FAILED); + case ERROR_NEED_EVDO: + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_NEED_EVDO); + case ERROR_NEED_HOME_NETWORK: + return l10n_util::GetStringUTF8( + IDS_CHROMEOS_NETWORK_ERROR_NEED_HOME_NETWORK); + case ERROR_OTASP_FAILED: + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_OTASP_FAILED); + case ERROR_AAA_FAILED: + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_ERROR_AAA_FAILED); default: // Usually no default, but changes to libcros may add errors. break; } - return "Unrecognized Error"; + return l10n_util::GetStringUTF8(IDS_CHROMEOS_NETWORK_STATE_UNRECOGNIZED); } //////////////////////////////////////////////////////////////////////////////// @@ -153,7 +179,7 @@ void WirelessNetwork::Clear() { void WirelessNetwork::ConfigureFromService(const ServiceInfo& service) { Network::ConfigureFromService(service); - name_ = service.name; + name_ = SafeString(service.name); strength_ = service.strength; auto_connect_ = service.auto_connect; favorite_ = service.favorite; @@ -176,9 +202,28 @@ void CellularNetwork::ConfigureFromService(const ServiceInfo& service) { activation_state_ = service.activation_state; network_technology_ = service.network_technology; roaming_state_ = service.roaming_state; - - // TODO(ers): Set other cellular properties here once they get added - // to ServiceInfo. + restricted_pool_ = service.restricted_pool; + // Carrier Info + if (service.carrier_info) { + operator_name_ = SafeString(service.carrier_info->operator_name); + operator_code_ = SafeString(service.carrier_info->operator_code); + payment_url_ = SafeString(service.carrier_info->payment_url); + } + // Device Info + if (service.device_info) { + meid_ = SafeString(service.device_info->MEID); + imei_ = SafeString(service.device_info->IMEI); + imsi_ = SafeString(service.device_info->IMSI); + esn_ = SafeString(service.device_info->ESN); + mdn_ = SafeString(service.device_info->MDN); + min_ = SafeString(service.device_info->MIN); + model_id_ = SafeString(service.device_info->model_id); + manufacturer_ = SafeString(service.device_info->manufacturer); + firmware_revision_ = SafeString(service.device_info->firmware_revision); + hardware_revision_ = SafeString(service.device_info->hardware_revision); + last_update_ = SafeString(service.device_info->last_update); + prl_version_ = service.device_info->PRL_version; + } } //////////////////////////////////////////////////////////////////////////////// @@ -195,9 +240,9 @@ void WifiNetwork::Clear() { void WifiNetwork::ConfigureFromService(const ServiceInfo& service) { WirelessNetwork::ConfigureFromService(service); encryption_ = service.security; - passphrase_ = service.passphrase; - identity_ = service.identity; - cert_path_ = service.cert_path; + passphrase_ = SafeString(service.passphrase); + identity_ = SafeString(service.identity); + cert_path_ = SafeString(service.cert_path); } std::string WifiNetwork::GetEncryptionString() { @@ -349,8 +394,8 @@ class NetworkLibraryImpl : public NetworkLibrary { DCHECK(network_list->networks[i].address); DCHECK(network_list->networks[i].name); WifiAccessPoint ap; - ap.mac_address = network_list->networks[i].address; - ap.name = network_list->networks[i].name; + ap.mac_address = SafeString(network_list->networks[i].address); + ap.name = SafeString(network_list->networks[i].name); ap.timestamp = now - base::TimeDelta::FromSeconds(network_list->networks[i].age_seconds); ap.signal_strength = network_list->networks[i].strength; diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h index d324fd5..b147206 100644 --- a/chrome/browser/chromeos/cros/network_library.h +++ b/chrome/browser/chromeos/cros/network_library.h @@ -129,12 +129,21 @@ class CellularNetwork : public WirelessNetwork { const NetworkTechnology network_technology() const { return network_technology_; } const NetworkRoamingState roaming_state() const { return roaming_state_; } + const std::string& operator_name() const { return payment_url_; } + const std::string& operator_code() const { return payment_url_; } const std::string& payment_url() const { return payment_url_; } const std::string& meid() const { return meid_; } const std::string& imei() const { return imei_; } const std::string& imsi() const { return imsi_; } const std::string& esn() const { return esn_; } const std::string& mdn() const { return mdn_; } + const std::string& min() const { return min_; } + const std::string& model_id() const { return model_id_; } + const std::string& manufacturer() const { return manufacturer_; } + const std::string& firmware_revision() const { return firmware_revision_; } + const std::string& hardware_revision() const { return hardware_revision_; } + const std::string& last_update() const { return last_update_; } + const int prl_version() const { return prl_version_; } // WirelessNetwork overrides. virtual void Clear(); @@ -144,12 +153,24 @@ class CellularNetwork : public WirelessNetwork { ActivationState activation_state_; NetworkTechnology network_technology_; NetworkRoamingState roaming_state_; + bool restricted_pool_; + // Carrier Info + std::string operator_name_; + std::string operator_code_; std::string payment_url_; + // Device Info std::string meid_; std::string imei_; std::string imsi_; std::string esn_; std::string mdn_; + std::string min_; + std::string model_id_; + std::string manufacturer_; + std::string firmware_revision_; + std::string hardware_revision_; + std::string last_update_; + int prl_version_; }; class WifiNetwork : public WirelessNetwork { |