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 3// found in the LICENSE file. 4 5#include "chrome/browser/chromeos/login/user_manager.h" 6 7#include "base/logging.h" 8#include "chrome/browser/chromeos/login/user_manager_impl.h" 9 10namespace chromeos { 11 12// static 13const char UserManager::kStubUser[] = "stub-user@example.com"; 14 15// static 16// Should match cros constant in platform/libchromeos/chromeos/cryptohome.h 17const char UserManager::kGuestUserName[] = "$guest"; 18 19// static 20const char UserManager::kLocallyManagedUserDomain[] = 21 "locally-managed.localhost"; 22 23 24// static 25const char UserManager::kRetailModeUserName[] = "demouser@"; 26static UserManager* g_user_manager = NULL; 27 28UserManager::Observer::~Observer() { 29} 30 31void UserManager::Observer::LocalStateChanged(UserManager* user_manager) { 32} 33 34void UserManager::Observer::MergeSessionStateChanged(MergeSessionState state) { 35} 36 37void UserManager::UserSessionStateObserver::ActiveUserChanged( 38 const User* active_user) { 39} 40 41void UserManager::UserSessionStateObserver::ActiveUserHashChanged( 42 const std::string& hash) { 43} 44 45void UserManager::UserSessionStateObserver:: 46PendingUserSessionsRestoreFinished() { 47} 48 49UserManager::UserSessionStateObserver::~UserSessionStateObserver() { 50} 51 52// static 53void UserManager::Initialize() { 54 CHECK(!g_user_manager); 55 g_user_manager = new UserManagerImpl(); 56} 57 58// static 59bool UserManager::IsInitialized() { 60 return g_user_manager; 61} 62 63void UserManager::Destroy() { 64 DCHECK(g_user_manager); 65 delete g_user_manager; 66 g_user_manager = NULL; 67} 68 69// static 70UserManager* UserManager::Get() { 71 CHECK(g_user_manager); 72 return g_user_manager; 73} 74 75UserManager::~UserManager() { 76} 77 78// static 79UserManager* UserManager::SetForTesting(UserManager* user_manager) { 80 UserManager* previous_user_manager = g_user_manager; 81 g_user_manager = user_manager; 82 return previous_user_manager; 83} 84 85ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager) 86 : previous_user_manager_(UserManager::SetForTesting(user_manager)) { 87} 88 89ScopedUserManagerEnabler::~ScopedUserManagerEnabler() { 90 UserManager::Get()->Shutdown(); 91 UserManager::Destroy(); 92 UserManager::SetForTesting(previous_user_manager_); 93} 94 95ScopedTestUserManager::ScopedTestUserManager() { 96 UserManager::Initialize(); 97} 98 99ScopedTestUserManager::~ScopedTestUserManager() { 100 UserManager::Get()->Shutdown(); 101 UserManager::Destroy(); 102} 103 104} // namespace chromeos 105