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.
4
5#include "components/user_manager/user_manager.h"
6
7#include "base/logging.h"
8
9namespace user_manager {
10
11UserManager* UserManager::instance = NULL;
12
13UserManager::Observer::~Observer() {
14}
15
16void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
17}
18
19void UserManager::UserSessionStateObserver::ActiveUserChanged(
20    const User* active_user) {
21}
22
23void UserManager::UserSessionStateObserver::UserAddedToSession(
24    const User* active_user) {
25}
26
27void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
28    const std::string& hash) {
29}
30
31UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
32}
33
34UserManager::UserAccountData::UserAccountData(
35    const base::string16& display_name,
36    const base::string16& given_name,
37    const std::string& locale)
38    : display_name_(display_name), given_name_(given_name), locale_(locale) {
39}
40
41UserManager::UserAccountData::~UserAccountData() {
42}
43
44void UserManager::Initialize() {
45  DCHECK(!UserManager::instance);
46  UserManager::SetInstance(this);
47}
48
49// static
50bool UserManager::IsInitialized() {
51  return UserManager::instance;
52}
53
54void UserManager::Destroy() {
55  DCHECK(UserManager::instance == this);
56  UserManager::SetInstance(NULL);
57}
58
59// static
60UserManager* user_manager::UserManager::Get() {
61  CHECK(UserManager::instance);
62  return UserManager::instance;
63}
64
65UserManager::~UserManager() {
66}
67
68// static
69void UserManager::SetInstance(UserManager* user_manager) {
70  UserManager::instance = user_manager;
71}
72
73// static
74UserManager* user_manager::UserManager::GetForTesting() {
75  return UserManager::instance;
76}
77
78// static
79UserManager* UserManager::SetForTesting(UserManager* user_manager) {
80  UserManager* previous_instance = UserManager::instance;
81  UserManager::instance = user_manager;
82  return previous_instance;
83}
84
85}  // namespace user_manager
86