blob: ddbf05f8308ca3aba1d418284d218e3ee290d0fa [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/login/users/user_manager.h"
#include "base/command_line.h"
#include "base/prefs/pref_registry_simple.h"
#include "chrome/browser/browser_process_platform_part_chromeos.h"
#include "chrome/browser/chromeos/login/users/user_manager_impl.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/common/chrome_switches.h"
namespace chromeos {
static UserManager* g_user_manager = NULL;
UserManager::Observer::~Observer() {
}
void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
}
void UserManager::UserSessionStateObserver::ActiveUserChanged(
const User* active_user) {
}
void UserManager::UserSessionStateObserver::UserAddedToSession(
const User* active_user) {
}
void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
const std::string& hash) {
}
UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
}
UserManager::UserAccountData::UserAccountData(
const base::string16& display_name,
const base::string16& given_name,
const std::string& locale)
: display_name_(display_name),
given_name_(given_name),
locale_(locale) {
}
UserManager::UserAccountData::~UserAccountData() {}
// static
void UserManager::Initialize() {
CHECK(!g_user_manager);
g_user_manager = new UserManagerImpl();
}
// static
bool UserManager::IsInitialized() {
return g_user_manager;
}
void UserManager::Destroy() {
DCHECK(g_user_manager);
delete g_user_manager;
g_user_manager = NULL;
}
// static
UserManager* UserManager::Get() {
CHECK(g_user_manager);
return g_user_manager;
}
UserManager::~UserManager() {
}
// static
UserManager* UserManager::SetForTesting(UserManager* user_manager) {
UserManager* previous_user_manager = g_user_manager;
if (previous_user_manager)
previous_user_manager->Shutdown();
g_user_manager = user_manager;
return previous_user_manager;
}
ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager)
: previous_user_manager_(UserManager::SetForTesting(user_manager)) {
}
ScopedUserManagerEnabler::~ScopedUserManagerEnabler() {
UserManager::Get()->Shutdown();
UserManager::Destroy();
UserManager::SetForTesting(previous_user_manager_);
}
ScopedTestUserManager::ScopedTestUserManager() {
UserManager::Initialize();
// ProfileHelper has to be initialized after UserManager instance is created.
ProfileHelper::Get()->Initialize();
}
ScopedTestUserManager::~ScopedTestUserManager() {
UserManager::Get()->Shutdown();
UserManager::Destroy();
}
} // namespace chromeos