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

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

Issue 8773046: [cros] Display emails of users are stored in a separate dictionary in Local State. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fixes. Created 9 years 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_USER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 13 matching lines...) Expand all
24 class FilePath; 24 class FilePath;
25 class PrefService; 25 class PrefService;
26 class ProfileDownloader; 26 class ProfileDownloader;
27 27
28 namespace base { 28 namespace base {
29 template<typename> struct DefaultLazyInstanceTraits; 29 template<typename> struct DefaultLazyInstanceTraits;
30 } 30 }
31 31
32 namespace chromeos { 32 namespace chromeos {
33 33
34 class RemoveUserDelegate; 34 // Delegate to be used while user removing.
whywhat 2011/12/05 12:14:49 nit: Move to a separate header
Ivan Korotkov 2011/12/05 14:12:48 Done.
35 class RemoveUserDelegate {
36 public:
37 // Called right before actual user removal process is initiated.
38 virtual void OnBeforeUserRemoved(const std::string& username) = 0;
39
40 // Called right after user removal process has been initiated.
41 virtual void OnUserRemoved(const std::string& username) = 0;
42 };
43
35 44
36 // This class provides a mechanism for discovering users who have logged 45 // This class provides a mechanism for discovering users who have logged
37 // into this chromium os device before and updating that list. 46 // into this chromium os device before and updating that list.
38 class UserManager : public ProfileDownloaderDelegate, 47 class UserManager : public ProfileDownloaderDelegate,
39 public content::NotificationObserver { 48 public content::NotificationObserver {
40 public: 49 public:
41 // Returns a shared instance of a UserManager. Not thread-safe, should only be 50 // Returns a shared instance of a UserManager. Not thread-safe, should only be
42 // called from the main UI thread. 51 // called from the main UI thread.
43 static UserManager* Get(); 52 static UserManager* Get();
44 53
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 const User& logged_in_user() const { return *logged_in_user_; } 85 const User& logged_in_user() const { return *logged_in_user_; }
77 User& logged_in_user() { return *logged_in_user_; } 86 User& logged_in_user() { return *logged_in_user_; }
78 87
79 // Returns true if given display name is unique. 88 // Returns true if given display name is unique.
80 bool IsDisplayNameUnique(const std::string& display_name) const; 89 bool IsDisplayNameUnique(const std::string& display_name) const;
81 90
82 // Saves user's oauth token status in local state preferences. 91 // Saves user's oauth token status in local state preferences.
83 void SaveUserOAuthStatus(const std::string& username, 92 void SaveUserOAuthStatus(const std::string& username,
84 User::OAuthTokenStatus oauth_token_status); 93 User::OAuthTokenStatus oauth_token_status);
85 94
86 // Gets user's oauth token status in local state preferences. 95 // Save user's displayed (non-canonical) email in local state preferences.
87 User::OAuthTokenStatus GetUserOAuthStatus(const std::string& username) const; 96 // If |update_if_exists| is false and a display name for |username| already
97 // exists, does nothing.
98 void SaveUserDisplayEmail(const std::string& username,
99 const std::string& display_email,
100 bool update_if_exists);
101
102 // Returns the display email for user |username| if it is known (was
103 // previously set by a |SaveUserDisplayEmail| call).
104 // Otherwise, returns |username| itself.
105 std::string GetUserDisplayEmail(const std::string& username) const;
88 106
89 // Sets user image to the default image with index |image_index|, sends 107 // Sets user image to the default image with index |image_index|, sends
90 // LOGIN_USER_IMAGE_CHANGED notification and updates Local State. 108 // LOGIN_USER_IMAGE_CHANGED notification and updates Local State.
91 void SaveUserDefaultImageIndex(const std::string& username, int image_index); 109 void SaveUserDefaultImageIndex(const std::string& username, int image_index);
92 110
93 // Saves image to file, sends LOGIN_USER_IMAGE_CHANGED notification and 111 // Saves image to file, sends LOGIN_USER_IMAGE_CHANGED notification and
94 // updates Local State. 112 // updates Local State.
95 void SaveUserImage(const std::string& username, const SkBitmap& image); 113 void SaveUserImage(const std::string& username, const SkBitmap& image);
96 114
97 // Tries to load user image from disk; if successful, sets it for the user, 115 // Tries to load user image from disk; if successful, sets it for the user,
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // Loads |users_| from Local State if the list has not been loaded yet. 180 // Loads |users_| from Local State if the list has not been loaded yet.
163 // Subsequent calls have no effect. Must be called on the UI thread. 181 // Subsequent calls have no effect. Must be called on the UI thread.
164 void EnsureUsersLoaded(); 182 void EnsureUsersLoaded();
165 183
166 // Makes stub user the current logged-in user (for test paths). 184 // Makes stub user the current logged-in user (for test paths).
167 void StubUserLoggedIn(); 185 void StubUserLoggedIn();
168 186
169 // Notifies on new user session. 187 // Notifies on new user session.
170 void NotifyOnLogin(); 188 void NotifyOnLogin();
171 189
190 // Reads user's oauth token status from local state preferences.
191 User::OAuthTokenStatus LoadUserOAuthStatus(const std::string& username) const;
192
172 // Sets one of the default images for the specified user and saves this 193 // Sets one of the default images for the specified user and saves this
173 // setting in local state. 194 // setting in local state.
174 // Does not send LOGIN_USER_IMAGE_CHANGED notification. 195 // Does not send LOGIN_USER_IMAGE_CHANGED notification.
175 void SetInitialUserImage(const std::string& username); 196 void SetInitialUserImage(const std::string& username);
176 197
177 // Sets image for user |username| and sends LOGIN_USER_IMAGE_CHANGED 198 // Sets image for user |username| and sends LOGIN_USER_IMAGE_CHANGED
178 // notification unless this is a new user and image is set for the first time. 199 // notification unless this is a new user and image is set for the first time.
179 void SetUserImage(const std::string& username, 200 void SetUserImage(const std::string& username,
180 int image_index, 201 int image_index,
181 const SkBitmap& image); 202 const SkBitmap& image);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 299
279 // Data URL for |downloaded_profile_image_|. 300 // Data URL for |downloaded_profile_image_|.
280 std::string downloaded_profile_image_data_url_; 301 std::string downloaded_profile_image_data_url_;
281 302
282 DISALLOW_COPY_AND_ASSIGN(UserManager); 303 DISALLOW_COPY_AND_ASSIGN(UserManager);
283 }; 304 };
284 305
285 } // namespace chromeos 306 } // namespace chromeos
286 307
287 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_H_ 308 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698