| // Copyright (c) 2012 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/mock_user_manager.h" |
| |
| #include "chrome/browser/chromeos/login/fake_supervised_user_manager.h" |
| |
| namespace chromeos { |
| |
| MockUserManager::MockUserManager() |
| : user_flow_(new DefaultUserFlow()), |
| supervised_user_manager_(new FakeSupervisedUserManager()) {} |
| |
| MockUserManager::~MockUserManager() { |
| ClearUserList(); |
| } |
| |
| const UserList& MockUserManager::GetUsers() const { |
| return user_list_; |
| } |
| |
| const User* MockUserManager::GetLoggedInUser() const { |
| return user_list_.empty() ? NULL : user_list_.front(); |
| } |
| |
| User* MockUserManager::GetLoggedInUser() { |
| return user_list_.empty() ? NULL : user_list_.front(); |
| } |
| |
| UserList MockUserManager::GetUnlockUsers() const { |
| return user_list_; |
| } |
| |
| const std::string& MockUserManager::GetOwnerEmail() { |
| return GetLoggedInUser()->email(); |
| } |
| |
| const User* MockUserManager::GetActiveUser() const { |
| return GetLoggedInUser(); |
| } |
| |
| User* MockUserManager::GetActiveUser() { |
| return GetLoggedInUser(); |
| } |
| |
| const User* MockUserManager::GetPrimaryUser() const { |
| return GetLoggedInUser(); |
| } |
| |
| User* MockUserManager::GetUserByProfile(Profile* profile) const { |
| return user_list_.empty() ? NULL : user_list_.front(); |
| } |
| |
| UserImageManager* MockUserManager::GetUserImageManager() { |
| return user_image_manager_.get(); |
| } |
| |
| SupervisedUserManager* MockUserManager::GetSupervisedUserManager() { |
| return supervised_user_manager_.get(); |
| } |
| |
| // Creates a new User instance. |
| void MockUserManager::SetActiveUser(const std::string& email) { |
| ClearUserList(); |
| AddUser(email); |
| } |
| |
| UserFlow* MockUserManager::GetCurrentUserFlow() const { |
| return user_flow_.get(); |
| } |
| |
| UserFlow* MockUserManager::GetUserFlow(const std::string&) const { |
| return user_flow_.get(); |
| } |
| |
| User* MockUserManager::CreatePublicAccountUser(const std::string& email) { |
| ClearUserList(); |
| user_list_.push_back(User::CreatePublicAccountUser(email)); |
| return user_list_.back(); |
| } |
| |
| void MockUserManager::AddUser(const std::string& email) { |
| user_list_.push_back(User::CreateRegularUser(email)); |
| } |
| |
| void MockUserManager::ClearUserList() { |
| // Can't use STLDeleteElements because of the protected destructor of User. |
| UserList::iterator user; |
| for (user = user_list_.begin(); user != user_list_.end(); ++user) |
| delete *user; |
| user_list_.clear(); |
| } |
| |
| bool MockUserManager::RespectLocalePreference( |
| Profile* profile, |
| const User* user, |
| scoped_ptr<locale_util::SwitchLanguageCallback> callback) const { |
| return false; |
| } |
| |
| } // namespace chromeos |