cc: Make picture pile base thread safe.
[chromium-blink-merge.git] / components / user_manager / user_manager.cc
blob6f27ef4e9e8fbcd0daaf5b2d4d0b6dc8f5a91241
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/user_manager/user_manager.h"
7 #include "base/logging.h"
9 namespace user_manager {
11 UserManager* UserManager::instance = NULL;
13 UserManager::Observer::~Observer() {
16 void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
19 void UserManager::UserSessionStateObserver::ActiveUserChanged(
20 const User* active_user) {
23 void UserManager::UserSessionStateObserver::UserAddedToSession(
24 const User* active_user) {
27 void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
28 const std::string& hash) {
31 void UserManager::UserSessionStateObserver::UserChangedSupervisedStatus(
32 User* user) {
35 UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
38 UserManager::UserAccountData::UserAccountData(
39 const base::string16& display_name,
40 const base::string16& given_name,
41 const std::string& locale)
42 : display_name_(display_name), given_name_(given_name), locale_(locale) {
45 UserManager::UserAccountData::~UserAccountData() {
48 void UserManager::Initialize() {
49 DCHECK(!UserManager::instance);
50 UserManager::SetInstance(this);
53 // static
54 bool UserManager::IsInitialized() {
55 return UserManager::instance;
58 void UserManager::Destroy() {
59 DCHECK(UserManager::instance == this);
60 UserManager::SetInstance(NULL);
63 // static
64 UserManager* user_manager::UserManager::Get() {
65 CHECK(UserManager::instance);
66 return UserManager::instance;
69 UserManager::~UserManager() {
72 // static
73 void UserManager::SetInstance(UserManager* user_manager) {
74 UserManager::instance = user_manager;
77 // static
78 UserManager* user_manager::UserManager::GetForTesting() {
79 return UserManager::instance;
82 // static
83 UserManager* UserManager::SetForTesting(UserManager* user_manager) {
84 UserManager* previous_instance = UserManager::instance;
85 UserManager::instance = user_manager;
86 return previous_instance;
89 } // namespace user_manager