Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: chrome/browser/chromeos/mobile_config.cc

Issue 106433007: Update some uses of Value in chrome/browser to use the base:: namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/mobile_config.h" 5 #include "chrome/browser/chromeos/mobile_config.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // Location of the local carrier config. 56 // Location of the local carrier config.
57 const char kLocalCarrierConfigPath[] = 57 const char kLocalCarrierConfigPath[] =
58 "/opt/oem/etc/carrier_config.json"; 58 "/opt/oem/etc/carrier_config.json";
59 59
60 } // anonymous namespace 60 } // anonymous namespace
61 61
62 namespace chromeos { 62 namespace chromeos {
63 63
64 // MobileConfig::CarrierDeal implementation. ----------------------------------- 64 // MobileConfig::CarrierDeal implementation. -----------------------------------
65 65
66 MobileConfig::CarrierDeal::CarrierDeal(const DictionaryValue* deal_dict) 66 MobileConfig::CarrierDeal::CarrierDeal(const base::DictionaryValue* deal_dict)
67 : notification_count_(0), 67 : notification_count_(0),
68 localized_strings_(NULL) { 68 localized_strings_(NULL) {
69 deal_dict->GetString(kDealIdAttr, &deal_id_); 69 deal_dict->GetString(kDealIdAttr, &deal_id_);
70 70
71 // Extract list of deal locales. 71 // Extract list of deal locales.
72 const ListValue* locale_list = NULL; 72 const base::ListValue* locale_list = NULL;
73 if (deal_dict->GetList(kDealLocalesAttr, &locale_list)) { 73 if (deal_dict->GetList(kDealLocalesAttr, &locale_list)) {
74 for (size_t i = 0; i < locale_list->GetSize(); ++i) { 74 for (size_t i = 0; i < locale_list->GetSize(); ++i) {
75 std::string locale; 75 std::string locale;
76 if (locale_list->GetString(i, &locale)) 76 if (locale_list->GetString(i, &locale))
77 locales_.push_back(locale); 77 locales_.push_back(locale);
78 } 78 }
79 } 79 }
80 80
81 deal_dict->GetString(kInfoURLAttr, &info_url_); 81 deal_dict->GetString(kInfoURLAttr, &info_url_);
82 deal_dict->GetInteger(kNotificationCountAttr, &notification_count_); 82 deal_dict->GetInteger(kNotificationCountAttr, &notification_count_);
83 std::string date_string; 83 std::string date_string;
84 if (deal_dict->GetString(kDealExpireDateAttr, &date_string)) { 84 if (deal_dict->GetString(kDealExpireDateAttr, &date_string)) {
85 if (!base::Time::FromString(date_string.c_str(), &expire_date_)) 85 if (!base::Time::FromString(date_string.c_str(), &expire_date_))
86 LOG(ERROR) << "Error parsing deal_expire_date: " << date_string; 86 LOG(ERROR) << "Error parsing deal_expire_date: " << date_string;
87 } 87 }
88 deal_dict->GetDictionary(kLocalizedContentAttr, &localized_strings_); 88 deal_dict->GetDictionary(kLocalizedContentAttr, &localized_strings_);
89 } 89 }
90 90
91 MobileConfig::CarrierDeal::~CarrierDeal() { 91 MobileConfig::CarrierDeal::~CarrierDeal() {
92 } 92 }
93 93
94 std::string MobileConfig::CarrierDeal::GetLocalizedString( 94 std::string MobileConfig::CarrierDeal::GetLocalizedString(
95 const std::string& locale, const std::string& id) const { 95 const std::string& locale, const std::string& id) const {
96 std::string result; 96 std::string result;
97 if (localized_strings_) { 97 if (localized_strings_) {
98 const DictionaryValue* locale_dict = NULL; 98 const base::DictionaryValue* locale_dict = NULL;
99 if (localized_strings_->GetDictionary(locale, &locale_dict) && 99 if (localized_strings_->GetDictionary(locale, &locale_dict) &&
100 locale_dict->GetString(id, &result)) { 100 locale_dict->GetString(id, &result)) {
101 return result; 101 return result;
102 } else if (localized_strings_->GetDictionary(kDefaultAttr, &locale_dict) && 102 } else if (localized_strings_->GetDictionary(kDefaultAttr, &locale_dict) &&
103 locale_dict->GetString(id, &result)) { 103 locale_dict->GetString(id, &result)) {
104 return result; 104 return result;
105 } 105 }
106 } 106 }
107 return result; 107 return result;
108 } 108 }
109 109
110 // MobileConfig::Carrier implementation. --------------------------------------- 110 // MobileConfig::Carrier implementation. ---------------------------------------
111 111
112 MobileConfig::Carrier::Carrier(const DictionaryValue* carrier_dict, 112 MobileConfig::Carrier::Carrier(const base::DictionaryValue* carrier_dict,
113 const std::string& initial_locale) 113 const std::string& initial_locale)
114 : show_portal_button_(false) { 114 : show_portal_button_(false) {
115 InitFromDictionary(carrier_dict, initial_locale); 115 InitFromDictionary(carrier_dict, initial_locale);
116 } 116 }
117 117
118 MobileConfig::Carrier::~Carrier() { 118 MobileConfig::Carrier::~Carrier() {
119 RemoveDeals(); 119 RemoveDeals();
120 } 120 }
121 121
122 const MobileConfig::CarrierDeal* MobileConfig::Carrier::GetDefaultDeal() const { 122 const MobileConfig::CarrierDeal* MobileConfig::Carrier::GetDefaultDeal() const {
(...skipping 28 matching lines...) Expand all
151 carrier_dict->GetString(kTopUpURLAttr, &top_up_url_); 151 carrier_dict->GetString(kTopUpURLAttr, &top_up_url_);
152 carrier_dict->GetBoolean(kShowPortalButtonAttr, &show_portal_button_); 152 carrier_dict->GetBoolean(kShowPortalButtonAttr, &show_portal_button_);
153 153
154 bool exclude_deals = false; 154 bool exclude_deals = false;
155 if (carrier_dict->GetBoolean(kExcludeDealsAttr, &exclude_deals) && 155 if (carrier_dict->GetBoolean(kExcludeDealsAttr, &exclude_deals) &&
156 exclude_deals) { 156 exclude_deals) {
157 RemoveDeals(); 157 RemoveDeals();
158 } 158 }
159 159
160 // Extract list of external IDs for this carrier. 160 // Extract list of external IDs for this carrier.
161 const ListValue* id_list = NULL; 161 const base::ListValue* id_list = NULL;
162 if (carrier_dict->GetList(kCarrierIdsAttr, &id_list)) { 162 if (carrier_dict->GetList(kCarrierIdsAttr, &id_list)) {
163 for (size_t i = 0; i < id_list->GetSize(); ++i) { 163 for (size_t i = 0; i < id_list->GetSize(); ++i) {
164 const DictionaryValue* id_dict = NULL; 164 const base::DictionaryValue* id_dict = NULL;
165 std::string external_id; 165 std::string external_id;
166 if (id_list->GetDictionary(i, &id_dict) && 166 if (id_list->GetDictionary(i, &id_dict) &&
167 id_dict->GetString(kCarrierIdAttr, &external_id)) { 167 id_dict->GetString(kCarrierIdAttr, &external_id)) {
168 external_ids_.push_back(external_id); 168 external_ids_.push_back(external_id);
169 } 169 }
170 } 170 }
171 } 171 }
172 172
173 // Extract list of deals for this carrier. 173 // Extract list of deals for this carrier.
174 const ListValue* deals_list = NULL; 174 const base::ListValue* deals_list = NULL;
175 if (carrier_dict->GetList(kDealsAttr, &deals_list)) { 175 if (carrier_dict->GetList(kDealsAttr, &deals_list)) {
176 for (size_t i = 0; i < deals_list->GetSize(); ++i) { 176 for (size_t i = 0; i < deals_list->GetSize(); ++i) {
177 const DictionaryValue* deal_dict = NULL; 177 const base::DictionaryValue* deal_dict = NULL;
178 if (deals_list->GetDictionary(i, &deal_dict)) { 178 if (deals_list->GetDictionary(i, &deal_dict)) {
179 scoped_ptr<CarrierDeal> deal(new CarrierDeal(deal_dict)); 179 scoped_ptr<CarrierDeal> deal(new CarrierDeal(deal_dict));
180 // Filter out deals by initial_locale right away. 180 // Filter out deals by initial_locale right away.
181 std::vector<std::string>::const_iterator iter = 181 std::vector<std::string>::const_iterator iter =
182 std::find(deal->locales().begin(), 182 std::find(deal->locales().begin(),
183 deal->locales().end(), 183 deal->locales().end(),
184 initial_locale); 184 initial_locale);
185 if (iter != deal->locales().end()) { 185 if (iter != deal->locales().end()) {
186 const std::string& deal_id = deal->deal_id(); 186 const std::string& deal_id = deal->deal_id();
187 deals_[deal_id] = deal.release(); 187 deals_[deal_id] = deal.release();
188 } 188 }
189 } 189 }
190 } 190 }
191 } 191 }
192 } 192 }
193 193
194 void MobileConfig::Carrier::RemoveDeals() { 194 void MobileConfig::Carrier::RemoveDeals() {
195 STLDeleteValues(&deals_); 195 STLDeleteValues(&deals_);
196 } 196 }
197 197
198 // MobileConfig::LocaleConfig implementation. ---------------------------------- 198 // MobileConfig::LocaleConfig implementation. ----------------------------------
199 199
200 MobileConfig::LocaleConfig::LocaleConfig(DictionaryValue* locale_dict) { 200 MobileConfig::LocaleConfig::LocaleConfig(base::DictionaryValue* locale_dict) {
201 InitFromDictionary(locale_dict); 201 InitFromDictionary(locale_dict);
202 } 202 }
203 203
204 MobileConfig::LocaleConfig::~LocaleConfig() { 204 MobileConfig::LocaleConfig::~LocaleConfig() {
205 } 205 }
206 206
207 void MobileConfig::LocaleConfig::InitFromDictionary( 207 void MobileConfig::LocaleConfig::InitFromDictionary(
208 base::DictionaryValue* locale_dict) { 208 base::DictionaryValue* locale_dict) {
209 locale_dict->GetString(kSetupURLAttr, &setup_url_); 209 locale_dict->GetString(kSetupURLAttr, &setup_url_);
210 } 210 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 if (root_.get() && 247 if (root_.get() &&
248 root_->GetBoolean(kExcludeDealsAttr, &exclude_deals) && 248 root_->GetBoolean(kExcludeDealsAttr, &exclude_deals) &&
249 exclude_deals) { 249 exclude_deals) {
250 for (Carriers::iterator iter = carriers_.begin(); 250 for (Carriers::iterator iter = carriers_.begin();
251 iter != carriers_.end(); ++iter) { 251 iter != carriers_.end(); ++iter) {
252 iter->second->RemoveDeals(); 252 iter->second->RemoveDeals();
253 } 253 }
254 } 254 }
255 255
256 // Other parts are optional and are the same among global/local config. 256 // Other parts are optional and are the same among global/local config.
257 DictionaryValue* carriers = NULL; 257 base::DictionaryValue* carriers = NULL;
258 if (root_.get() && root_->GetDictionary(kCarriersAttr, &carriers)) { 258 if (root_.get() && root_->GetDictionary(kCarriersAttr, &carriers)) {
259 for (DictionaryValue::Iterator iter(*carriers); !iter.IsAtEnd(); 259 for (base::DictionaryValue::Iterator iter(*carriers); !iter.IsAtEnd();
260 iter.Advance()) { 260 iter.Advance()) {
261 const DictionaryValue* carrier_dict = NULL; 261 const base::DictionaryValue* carrier_dict = NULL;
262 if (iter.value().GetAsDictionary(&carrier_dict)) { 262 if (iter.value().GetAsDictionary(&carrier_dict)) {
263 const std::string& internal_id = iter.key(); 263 const std::string& internal_id = iter.key();
264 Carriers::iterator inner_iter = carriers_.find(internal_id); 264 Carriers::iterator inner_iter = carriers_.find(internal_id);
265 if (inner_iter != carriers_.end()) { 265 if (inner_iter != carriers_.end()) {
266 // Carrier already defined i.e. loading from the local config. 266 // Carrier already defined i.e. loading from the local config.
267 // New ID mappings in local config is not supported. 267 // New ID mappings in local config is not supported.
268 inner_iter->second->InitFromDictionary(carrier_dict, initial_locale_); 268 inner_iter->second->InitFromDictionary(carrier_dict, initial_locale_);
269 } else { 269 } else {
270 Carrier* carrier = new Carrier(carrier_dict, initial_locale_); 270 Carrier* carrier = new Carrier(carrier_dict, initial_locale_);
271 if (!carrier->external_ids().empty()) { 271 if (!carrier->external_ids().empty()) {
272 // Map all external IDs to a single internal one. 272 // Map all external IDs to a single internal one.
273 for (std::vector<std::string>::const_iterator 273 for (std::vector<std::string>::const_iterator
274 i = carrier->external_ids().begin(); 274 i = carrier->external_ids().begin();
275 i != carrier->external_ids().end(); ++i) { 275 i != carrier->external_ids().end(); ++i) {
276 carrier_id_map_[*i] = internal_id; 276 carrier_id_map_[*i] = internal_id;
277 } 277 }
278 } else { 278 } else {
279 // Trivial case - using same ID for external/internal one. 279 // Trivial case - using same ID for external/internal one.
280 carrier_id_map_[internal_id] = internal_id; 280 carrier_id_map_[internal_id] = internal_id;
281 } 281 }
282 carriers_[internal_id] = carrier; 282 carriers_[internal_id] = carrier;
283 } 283 }
284 } 284 }
285 } 285 }
286 } 286 }
287 287
288 DictionaryValue* initial_locales = NULL; 288 base::DictionaryValue* initial_locales = NULL;
289 if (root_.get() && root_->GetDictionary(kInitialLocalesAttr, 289 if (root_.get() && root_->GetDictionary(kInitialLocalesAttr,
290 &initial_locales)) { 290 &initial_locales)) {
291 DictionaryValue* locale_config_dict = NULL; 291 base::DictionaryValue* locale_config_dict = NULL;
292 // Search for a config based on current initial locale. 292 // Search for a config based on current initial locale.
293 if (initial_locales->GetDictionary(initial_locale_, 293 if (initial_locales->GetDictionary(initial_locale_,
294 &locale_config_dict)) { 294 &locale_config_dict)) {
295 locale_config_.reset(new LocaleConfig(locale_config_dict)); 295 locale_config_.reset(new LocaleConfig(locale_config_dict));
296 } 296 }
297 } 297 }
298 298
299 return true; 299 return true;
300 } 300 }
301 301
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 << local_config_file.value(); 367 << local_config_file.value();
368 } 368 }
369 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 369 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
370 base::Bind(&MobileConfig::ProcessConfig, 370 base::Bind(&MobileConfig::ProcessConfig,
371 base::Unretained(this), // singleton. 371 base::Unretained(this), // singleton.
372 global_config, 372 global_config,
373 local_config)); 373 local_config));
374 } 374 }
375 375
376 } // namespace chromeos 376 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/mobile/mobile_activator.cc ('k') | chrome/browser/chromeos/net/onc_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698