Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: components/user_manager/user_manager.cc

Issue 444903002: [cros] user_manager component - move UserManagerBase and UserManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « components/user_manager/user_manager.h ('k') | components/user_manager/user_manager_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/users/user_manager.h" 5 #include "components/user_manager/user_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_registry_simple.h"
9 #include "chrome/browser/browser_process_platform_part_chromeos.h"
10 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
11 #include "chrome/browser/chromeos/profiles/profile_helper.h"
12 #include "chrome/common/chrome_switches.h"
13 8
14 namespace chromeos { 9 namespace user_manager {
15 10
16 static UserManager* g_user_manager = NULL; 11 UserManager* UserManager::instance = NULL;
17 12
18 UserManager::Observer::~Observer() { 13 UserManager::Observer::~Observer() {
19 } 14 }
20 15
21 void UserManager::Observer::LocalStateChanged(UserManager* user_manager) { 16 void UserManager::Observer::LocalStateChanged(UserManager* user_manager) {
22 } 17 }
23 18
24 void UserManager::UserSessionStateObserver::ActiveUserChanged( 19 void UserManager::UserSessionStateObserver::ActiveUserChanged(
25 const user_manager::User* active_user) { 20 const User* active_user) {
26 } 21 }
27 22
28 void UserManager::UserSessionStateObserver::UserAddedToSession( 23 void UserManager::UserSessionStateObserver::UserAddedToSession(
29 const user_manager::User* active_user) { 24 const User* active_user) {
30 } 25 }
31 26
32 void UserManager::UserSessionStateObserver::ActiveUserHashChanged( 27 void UserManager::UserSessionStateObserver::ActiveUserHashChanged(
33 const std::string& hash) { 28 const std::string& hash) {
34 } 29 }
35 30
36 UserManager::UserSessionStateObserver::~UserSessionStateObserver() { 31 UserManager::UserSessionStateObserver::~UserSessionStateObserver() {
37 } 32 }
38 33
39 UserManager::UserAccountData::UserAccountData( 34 UserManager::UserAccountData::UserAccountData(
40 const base::string16& display_name, 35 const base::string16& display_name,
41 const base::string16& given_name, 36 const base::string16& given_name,
42 const std::string& locale) 37 const std::string& locale)
43 : display_name_(display_name), 38 : display_name_(display_name), given_name_(given_name), locale_(locale) {
44 given_name_(given_name),
45 locale_(locale) {
46 } 39 }
47 40
48 UserManager::UserAccountData::~UserAccountData() {} 41 UserManager::UserAccountData::~UserAccountData() {
42 }
49 43
50 // static
51 void UserManager::Initialize() { 44 void UserManager::Initialize() {
52 CHECK(!g_user_manager); 45 DCHECK(!UserManager::instance);
53 g_user_manager = new ChromeUserManager(); 46 UserManager::SetInstance(this);
54 } 47 }
55 48
56 // static 49 // static
57 bool UserManager::IsInitialized() { 50 bool UserManager::IsInitialized() {
58 return g_user_manager; 51 return UserManager::instance;
59 } 52 }
60 53
61 void UserManager::Destroy() { 54 void UserManager::Destroy() {
62 DCHECK(g_user_manager); 55 DCHECK(UserManager::instance == this);
63 delete g_user_manager; 56 UserManager::SetInstance(NULL);
64 g_user_manager = NULL;
65 } 57 }
66 58
67 // static 59 // static
68 UserManager* UserManager::Get() { 60 UserManager* user_manager::UserManager::Get() {
69 CHECK(g_user_manager); 61 CHECK(UserManager::instance);
70 return g_user_manager; 62 return UserManager::instance;
71 } 63 }
72 64
73 UserManager::~UserManager() { 65 UserManager::~UserManager() {
74 } 66 }
75 67
76 // static 68 // static
77 UserManager* UserManager::SetForTesting(UserManager* user_manager) { 69 void UserManager::SetInstance(UserManager* user_manager) {
78 UserManager* previous_user_manager = g_user_manager; 70 UserManager::instance = user_manager;
79 if (previous_user_manager)
80 previous_user_manager->Shutdown();
81
82 g_user_manager = user_manager;
83 return previous_user_manager;
84 } 71 }
85 72
86 ScopedUserManagerEnabler::ScopedUserManagerEnabler(UserManager* user_manager) 73 // static
87 : previous_user_manager_(UserManager::SetForTesting(user_manager)) { 74 UserManager* user_manager::UserManager::GetForTesting() {
75 return UserManager::instance;
88 } 76 }
89 77
90 ScopedUserManagerEnabler::~ScopedUserManagerEnabler() { 78 // static
91 UserManager::Get()->Shutdown(); 79 UserManager* UserManager::SetForTesting(UserManager* user_manager) {
92 UserManager::Destroy(); 80 UserManager* previous_instance = UserManager::instance;
93 UserManager::SetForTesting(previous_user_manager_); 81 UserManager::instance = user_manager;
82 return previous_instance;
94 } 83 }
95 84
96 ScopedTestUserManager::ScopedTestUserManager() { 85 } // namespace user_manager
97 UserManager::Initialize();
98
99 // ProfileHelper has to be initialized after UserManager instance is created.
100 ProfileHelper::Get()->Initialize();
101 }
102
103 ScopedTestUserManager::~ScopedTestUserManager() {
104 UserManager::Get()->Shutdown();
105 UserManager::Destroy();
106 }
107
108 } // namespace chromeos
OLDNEW
« no previous file with comments | « components/user_manager/user_manager.h ('k') | components/user_manager/user_manager_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698