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

Side by Side Diff: chromeos/settings/timezone_settings.cc

Issue 1308823002: Move Singleton and related structs to namespace base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ToT Created 5 years, 3 months 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
« no previous file with comments | « chromeos/accelerometer/accelerometer_reader.cc ('k') | chromeos/system/statistics_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chromeos/settings/timezone_settings.h" 5 #include "chromeos/settings/timezone_settings.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 293
294 // The TimezoneSettings implementation used in production. 294 // The TimezoneSettings implementation used in production.
295 class TimezoneSettingsImpl : public TimezoneSettingsBaseImpl { 295 class TimezoneSettingsImpl : public TimezoneSettingsBaseImpl {
296 public: 296 public:
297 // TimezoneSettings implementation: 297 // TimezoneSettings implementation:
298 void SetTimezone(const icu::TimeZone& timezone) override; 298 void SetTimezone(const icu::TimeZone& timezone) override;
299 299
300 static TimezoneSettingsImpl* GetInstance(); 300 static TimezoneSettingsImpl* GetInstance();
301 301
302 private: 302 private:
303 friend struct DefaultSingletonTraits<TimezoneSettingsImpl>; 303 friend struct base::DefaultSingletonTraits<TimezoneSettingsImpl>;
304 304
305 TimezoneSettingsImpl(); 305 TimezoneSettingsImpl();
306 306
307 DISALLOW_COPY_AND_ASSIGN(TimezoneSettingsImpl); 307 DISALLOW_COPY_AND_ASSIGN(TimezoneSettingsImpl);
308 }; 308 };
309 309
310 // The stub TimezoneSettings implementation used on Linux desktop. 310 // The stub TimezoneSettings implementation used on Linux desktop.
311 class TimezoneSettingsStubImpl : public TimezoneSettingsBaseImpl { 311 class TimezoneSettingsStubImpl : public TimezoneSettingsBaseImpl {
312 public: 312 public:
313 // TimezoneSettings implementation: 313 // TimezoneSettings implementation:
314 void SetTimezone(const icu::TimeZone& timezone) override; 314 void SetTimezone(const icu::TimeZone& timezone) override;
315 315
316 static TimezoneSettingsStubImpl* GetInstance(); 316 static TimezoneSettingsStubImpl* GetInstance();
317 317
318 private: 318 private:
319 friend struct DefaultSingletonTraits<TimezoneSettingsStubImpl>; 319 friend struct base::DefaultSingletonTraits<TimezoneSettingsStubImpl>;
320 320
321 TimezoneSettingsStubImpl(); 321 TimezoneSettingsStubImpl();
322 322
323 DISALLOW_COPY_AND_ASSIGN(TimezoneSettingsStubImpl); 323 DISALLOW_COPY_AND_ASSIGN(TimezoneSettingsStubImpl);
324 }; 324 };
325 325
326 TimezoneSettingsBaseImpl::~TimezoneSettingsBaseImpl() { 326 TimezoneSettingsBaseImpl::~TimezoneSettingsBaseImpl() {
327 STLDeleteElements(&timezones_); 327 STLDeleteElements(&timezones_);
328 } 328 }
329 329
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 // It's safe to change the timezone config files in the background as the 380 // It's safe to change the timezone config files in the background as the
381 // following operations don't depend on the completion of the config change. 381 // following operations don't depend on the completion of the config change.
382 base::WorkerPool::GetTaskRunner(true /* task is slow */)-> 382 base::WorkerPool::GetTaskRunner(true /* task is slow */)->
383 PostTask(FROM_HERE, base::Bind(&SetTimezoneIDFromString, id)); 383 PostTask(FROM_HERE, base::Bind(&SetTimezoneIDFromString, id));
384 icu::TimeZone::setDefault(*known_timezone); 384 icu::TimeZone::setDefault(*known_timezone);
385 FOR_EACH_OBSERVER(Observer, observers_, TimezoneChanged(*known_timezone)); 385 FOR_EACH_OBSERVER(Observer, observers_, TimezoneChanged(*known_timezone));
386 } 386 }
387 387
388 // static 388 // static
389 TimezoneSettingsImpl* TimezoneSettingsImpl::GetInstance() { 389 TimezoneSettingsImpl* TimezoneSettingsImpl::GetInstance() {
390 return Singleton<TimezoneSettingsImpl, 390 return base::Singleton<
391 DefaultSingletonTraits<TimezoneSettingsImpl> >::get(); 391 TimezoneSettingsImpl,
392 base::DefaultSingletonTraits<TimezoneSettingsImpl>>::get();
392 } 393 }
393 394
394 TimezoneSettingsImpl::TimezoneSettingsImpl() { 395 TimezoneSettingsImpl::TimezoneSettingsImpl() {
395 std::string id = GetTimezoneIDAsString(); 396 std::string id = GetTimezoneIDAsString();
396 if (id.empty()) { 397 if (id.empty()) {
397 id = kFallbackTimeZoneId; 398 id = kFallbackTimeZoneId;
398 LOG(ERROR) << "Got an empty string for timezone, default to '" << id; 399 LOG(ERROR) << "Got an empty string for timezone, default to '" << id;
399 } 400 }
400 401
401 timezone_.reset(icu::TimeZone::createTimeZone( 402 timezone_.reset(icu::TimeZone::createTimeZone(
(...skipping 24 matching lines...) Expand all
426 427
427 std::string id = base::UTF16ToUTF8(GetTimezoneID(*known_timezone)); 428 std::string id = base::UTF16ToUTF8(GetTimezoneID(*known_timezone));
428 VLOG(1) << "Setting timezone to " << id; 429 VLOG(1) << "Setting timezone to " << id;
429 timezone_.reset(known_timezone->clone()); 430 timezone_.reset(known_timezone->clone());
430 icu::TimeZone::setDefault(*known_timezone); 431 icu::TimeZone::setDefault(*known_timezone);
431 FOR_EACH_OBSERVER(Observer, observers_, TimezoneChanged(*known_timezone)); 432 FOR_EACH_OBSERVER(Observer, observers_, TimezoneChanged(*known_timezone));
432 } 433 }
433 434
434 // static 435 // static
435 TimezoneSettingsStubImpl* TimezoneSettingsStubImpl::GetInstance() { 436 TimezoneSettingsStubImpl* TimezoneSettingsStubImpl::GetInstance() {
436 return Singleton<TimezoneSettingsStubImpl, 437 return base::Singleton<
437 DefaultSingletonTraits<TimezoneSettingsStubImpl> >::get(); 438 TimezoneSettingsStubImpl,
439 base::DefaultSingletonTraits<TimezoneSettingsStubImpl>>::get();
438 } 440 }
439 441
440 TimezoneSettingsStubImpl::TimezoneSettingsStubImpl() { 442 TimezoneSettingsStubImpl::TimezoneSettingsStubImpl() {
441 timezone_.reset(icu::TimeZone::createDefault()); 443 timezone_.reset(icu::TimeZone::createDefault());
442 const icu::TimeZone* known_timezone = GetKnownTimezoneOrNull(*timezone_); 444 const icu::TimeZone* known_timezone = GetKnownTimezoneOrNull(*timezone_);
443 if (known_timezone != NULL && *known_timezone != *timezone_) 445 if (known_timezone != NULL && *known_timezone != *timezone_)
444 timezone_.reset(known_timezone->clone()); 446 timezone_.reset(known_timezone->clone());
445 } 447 }
446 448
447 } // namespace 449 } // namespace
(...skipping 14 matching lines...) Expand all
462 464
463 // static 465 // static
464 base::string16 TimezoneSettings::GetTimezoneID(const icu::TimeZone& timezone) { 466 base::string16 TimezoneSettings::GetTimezoneID(const icu::TimeZone& timezone) {
465 icu::UnicodeString id; 467 icu::UnicodeString id;
466 timezone.getID(id); 468 timezone.getID(id);
467 return base::string16(id.getBuffer(), id.length()); 469 return base::string16(id.getBuffer(), id.length());
468 } 470 }
469 471
470 } // namespace system 472 } // namespace system
471 } // namespace chromeos 473 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/accelerometer/accelerometer_reader.cc ('k') | chromeos/system/statistics_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698