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

Side by Side Diff: chrome/browser/chromeos/login/users/user_manager.h

Issue 398753004: [cros] Move User class to user_manager component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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
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 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "chrome/browser/chromeos/login/user_flow.h" 10 #include "chrome/browser/chromeos/login/user_flow.h"
11 #include "chrome/browser/chromeos/login/users/user.h" 11 #include "components/user_manager/user.h"
12 12
13 class PrefRegistrySimple; 13 class PrefRegistrySimple;
14 14
15 namespace chromeos { 15 namespace chromeos {
16 16
17 class MultiProfileUserController; 17 class MultiProfileUserController;
18 class RemoveUserDelegate; 18 class RemoveUserDelegate;
19 class UserImageManager; 19 class UserImageManager;
20 class SupervisedUserManager; 20 class SupervisedUserManager;
21 21
(...skipping 11 matching lines...) Expand all
33 protected: 33 protected:
34 virtual ~Observer(); 34 virtual ~Observer();
35 }; 35 };
36 36
37 // TODO(nkostylev): Refactor and move this observer out of UserManager. 37 // TODO(nkostylev): Refactor and move this observer out of UserManager.
38 // Observer interface that defines methods used to notify on user session / 38 // Observer interface that defines methods used to notify on user session /
39 // active user state changes. Default implementation is empty. 39 // active user state changes. Default implementation is empty.
40 class UserSessionStateObserver { 40 class UserSessionStateObserver {
41 public: 41 public:
42 // Called when active user has changed. 42 // Called when active user has changed.
43 virtual void ActiveUserChanged(const User* active_user); 43 virtual void ActiveUserChanged(const user_manager::User* active_user);
44 44
45 // Called when another user got added to the existing session. 45 // Called when another user got added to the existing session.
46 virtual void UserAddedToSession(const User* added_user); 46 virtual void UserAddedToSession(const user_manager::User* added_user);
47 47
48 // Called right before notifying on user change so that those who rely 48 // Called right before notifying on user change so that those who rely
49 // on user_id hash would be accessing up-to-date value. 49 // on user_id hash would be accessing up-to-date value.
50 virtual void ActiveUserHashChanged(const std::string& hash); 50 virtual void ActiveUserHashChanged(const std::string& hash);
51 51
52 protected: 52 protected:
53 virtual ~UserSessionStateObserver(); 53 virtual ~UserSessionStateObserver();
54 }; 54 };
55 55
56 // Data retrieved from user account. 56 // Data retrieved from user account.
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 static void RegisterPrefs(PrefRegistrySimple* registry); 99 static void RegisterPrefs(PrefRegistrySimple* registry);
100 100
101 virtual ~UserManager(); 101 virtual ~UserManager();
102 102
103 virtual MultiProfileUserController* GetMultiProfileUserController() = 0; 103 virtual MultiProfileUserController* GetMultiProfileUserController() = 0;
104 virtual UserImageManager* GetUserImageManager(const std::string& user_id) = 0; 104 virtual UserImageManager* GetUserImageManager(const std::string& user_id) = 0;
105 virtual SupervisedUserManager* GetSupervisedUserManager() = 0; 105 virtual SupervisedUserManager* GetSupervisedUserManager() = 0;
106 106
107 // Returns a list of users who have logged into this device previously. This 107 // Returns a list of users who have logged into this device previously. This
108 // is sorted by last login date with the most recent user at the beginning. 108 // is sorted by last login date with the most recent user at the beginning.
109 virtual const UserList& GetUsers() const = 0; 109 virtual const user_manager::UserList& GetUsers() const = 0;
110 110
111 // Returns list of users admitted for logging in into multi-profile session. 111 // Returns list of users admitted for logging in into multi-profile session.
112 // Users that have a policy that prevents them from being added to the 112 // Users that have a policy that prevents them from being added to the
113 // multi-profile session will still be part of this list as long as they 113 // multi-profile session will still be part of this list as long as they
114 // are regular users (i.e. not a public session/supervised etc.). 114 // are regular users (i.e. not a public session/supervised etc.).
115 // Returns an empty list in case when primary user is not a regular one or 115 // Returns an empty list in case when primary user is not a regular one or
116 // has a policy that prohibids it to be part of multi-profile session. 116 // has a policy that prohibids it to be part of multi-profile session.
117 virtual UserList GetUsersAdmittedForMultiProfile() const = 0; 117 virtual user_manager::UserList GetUsersAdmittedForMultiProfile() const = 0;
118 118
119 // Returns a list of users who are currently logged in. 119 // Returns a list of users who are currently logged in.
120 virtual const UserList& GetLoggedInUsers() const = 0; 120 virtual const user_manager::UserList& GetLoggedInUsers() const = 0;
121 121
122 // Returns a list of users who are currently logged in in the LRU order - 122 // Returns a list of users who are currently logged in in the LRU order -
123 // so the active user is the first one in the list. If there is no user logged 123 // so the active user is the first one in the list. If there is no user logged
124 // in, the current user will be returned. 124 // in, the current user will be returned.
125 virtual const UserList& GetLRULoggedInUsers() = 0; 125 virtual const user_manager::UserList& GetLRULoggedInUsers() = 0;
126 126
127 // Returns a list of users who can unlock the device. 127 // Returns a list of users who can unlock the device.
128 // This list is based on policy and whether user is able to do unlock. 128 // This list is based on policy and whether user is able to do unlock.
129 // Policy: 129 // Policy:
130 // * If user has primary-only policy then it is the only user in unlock users. 130 // * If user has primary-only policy then it is the only user in unlock users.
131 // * Otherwise all users with unrestricted policy are added to this list. 131 // * Otherwise all users with unrestricted policy are added to this list.
132 // All users that are unable to perform unlock are excluded from this list. 132 // All users that are unable to perform unlock are excluded from this list.
133 virtual UserList GetUnlockUsers() const = 0; 133 virtual user_manager::UserList GetUnlockUsers() const = 0;
134 134
135 // Returns the email of the owner user. Returns an empty string if there is 135 // Returns the email of the owner user. Returns an empty string if there is
136 // no owner for the device. 136 // no owner for the device.
137 virtual const std::string& GetOwnerEmail() = 0; 137 virtual const std::string& GetOwnerEmail() = 0;
138 138
139 // Indicates that a user with the given |user_id| has just logged in. The 139 // Indicates that a user with the given |user_id| has just logged in. The
140 // persistent list is updated accordingly if the user is not ephemeral. 140 // persistent list is updated accordingly if the user is not ephemeral.
141 // |browser_restart| is true when reloading Chrome after crash to distinguish 141 // |browser_restart| is true when reloading Chrome after crash to distinguish
142 // from normal sign in flow. 142 // from normal sign in flow.
143 // |username_hash| is used to identify homedir mount point. 143 // |username_hash| is used to identify homedir mount point.
(...skipping 22 matching lines...) Expand all
166 // Removes the user from the persistent list only. Also removes the user's 166 // Removes the user from the persistent list only. Also removes the user's
167 // picture. 167 // picture.
168 virtual void RemoveUserFromList(const std::string& user_id) = 0; 168 virtual void RemoveUserFromList(const std::string& user_id) = 0;
169 169
170 // Returns true if a user with the given user id is found in the persistent 170 // Returns true if a user with the given user id is found in the persistent
171 // list or currently logged in as ephemeral. 171 // list or currently logged in as ephemeral.
172 virtual bool IsKnownUser(const std::string& user_id) const = 0; 172 virtual bool IsKnownUser(const std::string& user_id) const = 0;
173 173
174 // Returns the user with the given user id if found in the persistent 174 // Returns the user with the given user id if found in the persistent
175 // list or currently logged in as ephemeral. Returns |NULL| otherwise. 175 // list or currently logged in as ephemeral. Returns |NULL| otherwise.
176 virtual const User* FindUser(const std::string& user_id) const = 0; 176 virtual const user_manager::User* FindUser(
177 const std::string& user_id) const = 0;
177 178
178 // Returns the user with the given user id if found in the persistent 179 // Returns the user with the given user id if found in the persistent
179 // list or currently logged in as ephemeral. Returns |NULL| otherwise. 180 // list or currently logged in as ephemeral. Returns |NULL| otherwise.
180 // Same as FindUser but returns non-const pointer to User object. 181 // Same as FindUser but returns non-const pointer to User object.
181 virtual User* FindUserAndModify(const std::string& user_id) = 0; 182 virtual user_manager::User* FindUserAndModify(const std::string& user_id) = 0;
182 183
183 // Returns the logged-in user. 184 // Returns the logged-in user.
184 // TODO(nkostylev): Deprecate this call, move clients to GetActiveUser(). 185 // TODO(nkostylev): Deprecate this call, move clients to GetActiveUser().
185 // http://crbug.com/230852 186 // http://crbug.com/230852
186 virtual const User* GetLoggedInUser() const = 0; 187 virtual const user_manager::User* GetLoggedInUser() const = 0;
187 virtual User* GetLoggedInUser() = 0; 188 virtual user_manager::User* GetLoggedInUser() = 0;
188 189
189 // Returns the logged-in user that is currently active within this session. 190 // Returns the logged-in user that is currently active within this session.
190 // There could be multiple users logged in at the the same but for now 191 // There could be multiple users logged in at the the same but for now
191 // we support only one of them being active. 192 // we support only one of them being active.
192 virtual const User* GetActiveUser() const = 0; 193 virtual const user_manager::User* GetActiveUser() const = 0;
193 virtual User* GetActiveUser() = 0; 194 virtual user_manager::User* GetActiveUser() = 0;
194 195
195 // Returns the primary user of the current session. It is recorded for the 196 // Returns the primary user of the current session. It is recorded for the
196 // first signed-in user and does not change thereafter. 197 // first signed-in user and does not change thereafter.
197 virtual const User* GetPrimaryUser() const = 0; 198 virtual const user_manager::User* GetPrimaryUser() const = 0;
198 199
199 // Saves user's oauth token status in local state preferences. 200 // Saves user's oauth token status in local state preferences.
200 virtual void SaveUserOAuthStatus( 201 virtual void SaveUserOAuthStatus(
201 const std::string& user_id, 202 const std::string& user_id,
202 User::OAuthTokenStatus oauth_token_status) = 0; 203 user_manager::User::OAuthTokenStatus oauth_token_status) = 0;
203 204
204 // Saves a flag indicating whether online authentication against GAIA should 205 // Saves a flag indicating whether online authentication against GAIA should
205 // be enforced during the user's next sign-in. 206 // be enforced during the user's next sign-in.
206 virtual void SaveForceOnlineSignin(const std::string& user_id, 207 virtual void SaveForceOnlineSignin(const std::string& user_id,
207 bool force_online_signin) = 0; 208 bool force_online_signin) = 0;
208 209
209 // Saves user's displayed name in local state preferences. 210 // Saves user's displayed name in local state preferences.
210 // Ignored If there is no such user. 211 // Ignored If there is no such user.
211 virtual void SaveUserDisplayName(const std::string& user_id, 212 virtual void SaveUserDisplayName(const std::string& user_id,
212 const base::string16& display_name) = 0; 213 const base::string16& display_name) = 0;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 ScopedTestUserManager(); 344 ScopedTestUserManager();
344 ~ScopedTestUserManager(); 345 ~ScopedTestUserManager();
345 346
346 private: 347 private:
347 DISALLOW_COPY_AND_ASSIGN(ScopedTestUserManager); 348 DISALLOW_COPY_AND_ASSIGN(ScopedTestUserManager);
348 }; 349 };
349 350
350 } // namespace chromeos 351 } // namespace chromeos
351 352
352 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_ 353 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_USER_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/users/user.cc ('k') | chrome/browser/chromeos/login/users/user_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698