summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/mobile_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/mobile_config.h')
-rw-r--r--chrome/browser/chromeos/mobile_config.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/mobile_config.h b/chrome/browser/chromeos/mobile_config.h
index 4f4f407..1a37f40 100644
--- a/chrome/browser/chromeos/mobile_config.h
+++ b/chrome/browser/chromeos/mobile_config.h
@@ -116,6 +116,27 @@ class MobileConfig : public CustomizationDocument {
DISALLOW_COPY_AND_ASSIGN(Carrier);
};
+ // Carrier config for a specific initial locale.
+ class LocaleConfig {
+ public:
+ explicit LocaleConfig(base::DictionaryValue* locale_dict);
+ ~LocaleConfig();
+
+ const std::string& setup_url() const { return setup_url_; }
+
+ // Initializes local config carrier from supplied dictionary.
+ // Multiple calls supported (i.e. second call for local config).
+ void InitFromDictionary(base::DictionaryValue* locale_dict);
+
+ private:
+ // Carrier setup URL. Used in network menu ("Set-up Mobile Data" link).
+ // Displayed when SIM card is not installed on the device with a
+ // particular initial locale.
+ std::string setup_url_;
+
+ DISALLOW_COPY_AND_ASSIGN(LocaleConfig);
+ };
+
// External carrier ID (ex. "Verizon (us)") mapping to internal carrier ID.
typedef std::map<std::string, std::string> CarrierIdMap;
@@ -124,9 +145,13 @@ class MobileConfig : public CustomizationDocument {
static MobileConfig* GetInstance();
- // Returns carrier by external ID.
+ // Returns carrier by external ID or NULL if there's no such carrier.
const MobileConfig::Carrier* GetCarrier(const std::string& carrier_id) const;
+ // Returns locale specific config by initial locale or NULL
+ // if there's no such config defined.
+ const MobileConfig::LocaleConfig* GetLocaleConfig() const;
+
protected:
virtual bool LoadManifestFromString(const std::string& manifest) OVERRIDE;
@@ -165,6 +190,9 @@ class MobileConfig : public CustomizationDocument {
// Carrier configuration (including carrier deals).
Carriers carriers_;
+ // Initial locale specific config if defined.
+ scoped_ptr<LocaleConfig> locale_config_;
+
// Initial locale value.
std::string initial_locale_;