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

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

Issue 1165323004: We should use UserID object to identify users instead of username. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
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_SUPERVISED_USER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SUPERVISED_USER_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SUPERVISED_USER_MANAGER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SUPERVISED_USER_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/strings/string16.h" 12 #include "base/strings/string16.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
15 15
16 class PrefRegistrySimple; 16 class PrefRegistrySimple;
17 17
18 namespace user_manager { 18 namespace user_manager {
19 class User; 19 class User;
20 class UserID;
20 } 21 }
21 22
22 namespace chromeos { 23 namespace chromeos {
23 24
24 class SupervisedUserAuthentication; 25 class SupervisedUserAuthentication;
25 26
26 // Keys in dictionary with supervised password information. 27 // Keys in dictionary with supervised password information.
27 extern const char kSchemaVersion[]; 28 extern const char kSchemaVersion[];
28 extern const char kPasswordRevision[]; 29 extern const char kPasswordRevision[];
29 extern const char kSalt[]; 30 extern const char kSalt[];
(...skipping 18 matching lines...) Expand all
48 LoadTokenCallback; 49 LoadTokenCallback;
49 50
50 // Registers user manager preferences. 51 // Registers user manager preferences.
51 static void RegisterPrefs(PrefRegistrySimple* registry); 52 static void RegisterPrefs(PrefRegistrySimple* registry);
52 53
53 SupervisedUserManager() {} 54 SupervisedUserManager() {}
54 virtual ~SupervisedUserManager() {} 55 virtual ~SupervisedUserManager() {}
55 56
56 // Checks if given user have supervised users on this device. 57 // Checks if given user have supervised users on this device.
57 58
58 virtual bool HasSupervisedUsers(const std::string& manager_id) const = 0; 59 virtual bool HasSupervisedUsers(const user_manager::UserID& manager_id) const = 0;
59 60
60 // Creates supervised user with given |display_name| and |local_user_id| 61 // Creates supervised user with given |display_name| and |local_user_id|
61 // and persists that to user list. Also links this user identified by 62 // and persists that to user list. Also links this user identified by
62 // |sync_user_id| to manager with a |manager_id|. 63 // |sync_user_id| to manager with a |manager_id|.
63 // Returns created user, or existing user if there already 64 // Returns created user, or existing user if there already
64 // was a supervised user with such display name. 65 // was a supervised user with such display name.
65 // TODO(antrim): Refactor into a single struct to have only 1 getter. 66 // TODO(antrim): Refactor into a single struct to have only 1 getter.
66 virtual const user_manager::User* CreateUserRecord( 67 virtual const user_manager::User* CreateUserRecord(
67 const std::string& manager_id, 68 const user_manager::UserID& manager_id,
68 const std::string& local_user_id, 69 const user_manager::UserID& local_user_id,
69 const std::string& sync_user_id, 70 const std::string& sync_user_id,
70 const base::string16& display_name) = 0; 71 const base::string16& display_name) = 0;
71 72
72 // Generates unique user ID for supervised user. 73 // Generates unique user ID for supervised user.
73 virtual std::string GenerateUserId() = 0; 74 virtual user_manager::UserID GenerateUserId() = 0;
74 75
75 // Returns the supervised user with the given |display_name| if found in 76 // Returns the supervised user with the given |display_name| if found in
76 // the persistent list. Returns |NULL| otherwise. 77 // the persistent list. Returns |NULL| otherwise.
77 virtual const user_manager::User* FindByDisplayName( 78 virtual const user_manager::User* FindByDisplayName(
78 const base::string16& display_name) const = 0; 79 const base::string16& display_name) const = 0;
79 80
80 // Returns the supervised user with the given |sync_id| if found in 81 // Returns the supervised user with the given |sync_id| if found in
81 // the persistent list. Returns |NULL| otherwise. 82 // the persistent list. Returns |NULL| otherwise.
82 virtual const user_manager::User* FindBySyncId( 83 virtual const user_manager::User* FindBySyncId(
83 const std::string& sync_id) const = 0; 84 const std::string& sync_id) const = 0;
84 85
85 // Returns sync_user_id for supervised user with |user_id| or empty string if 86 // Returns sync_user_id for supervised user with |user_id| or empty string if
86 // such user is not found or it doesn't have user_id defined. 87 // such user is not found or it doesn't have user_id defined.
87 virtual std::string GetUserSyncId(const std::string& user_id) const = 0; 88 virtual std::string GetUserSyncId(const user_manager::UserID& user_id) const = 0;
88 89
89 // Returns the display name for manager of user |user_id| if it is known 90 // Returns the display name for manager of user |user_id| if it is known
90 // (was previously set by a |SaveUserDisplayName| call). 91 // (was previously set by a |SaveUserDisplayName| call).
91 // Otherwise, returns a manager id. 92 // Otherwise, returns a manager id.
92 virtual base::string16 GetManagerDisplayName( 93 virtual base::string16 GetManagerDisplayName(
93 const std::string& user_id) const = 0; 94 const user_manager::UserID& user_id) const = 0;
94 95
95 // Returns the user id for manager of user |user_id| if it is known (user is 96 // Returns the user id for manager of user |user_id| if it is known (user is
96 // actually a managed user). 97 // actually a managed user).
97 // Otherwise, returns an empty string. 98 // Otherwise, returns an empty string.
98 virtual std::string GetManagerUserId(const std::string& user_id) const = 0; 99 virtual user_manager::UserID GetManagerUserId(const user_manager::UserID& user _id) const = 0;
99 100
100 // Returns the display email for manager of user |user_id| if it is known 101 // Returns the display email for manager of user |user_id| if it is known
101 // (user is actually a managed user). 102 // (user is actually a managed user).
102 // Otherwise, returns an empty string. 103 // Otherwise, returns an empty string.
103 virtual std::string GetManagerDisplayEmail(const std::string& user_id) 104 virtual std::string GetManagerDisplayEmail(const user_manager::UserID& user_id )
104 const = 0; 105 const = 0;
105 106
106 // Create a record about starting supervised user creation transaction. 107 // Create a record about starting supervised user creation transaction.
107 virtual void StartCreationTransaction(const base::string16& display_name) = 0; 108 virtual void StartCreationTransaction(const base::string16& display_name) = 0;
108 109
109 // Add user id to supervised user creation transaction record. 110 // Add user id to supervised user creation transaction record.
110 virtual void SetCreationTransactionUserId(const std::string& user_id) = 0; 111 virtual void SetCreationTransactionUserId(const user_manager::UserID& user_id) = 0;
111 112
112 // Remove supervised user creation transaction record. 113 // Remove supervised user creation transaction record.
113 virtual void CommitCreationTransaction() = 0; 114 virtual void CommitCreationTransaction() = 0;
114 115
115 // Return object that handles specifics of supervised user authentication. 116 // Return object that handles specifics of supervised user authentication.
116 virtual SupervisedUserAuthentication* GetAuthentication() = 0; 117 virtual SupervisedUserAuthentication* GetAuthentication() = 0;
117 118
118 // Fill |result| with public password-specific data for |user_id| from Local 119 // Fill |result| with public password-specific data for |user_id| from Local
119 // State. 120 // State.
120 virtual void GetPasswordInformation(const std::string& user_id, 121 virtual void GetPasswordInformation(const user_manager::UserID& user_id,
121 base::DictionaryValue* result) = 0; 122 base::DictionaryValue* result) = 0;
122 123
123 // Stores public password-specific data from |password_info| for |user_id| in 124 // Stores public password-specific data from |password_info| for |user_id| in
124 // Local State. 125 // Local State.
125 virtual void SetPasswordInformation( 126 virtual void SetPasswordInformation(
126 const std::string& user_id, 127 const user_manager::UserID& user_id,
127 const base::DictionaryValue* password_info) = 0; 128 const base::DictionaryValue* password_info) = 0;
128 129
129 // Loads a sync oauth token in background, and passes it to callback. 130 // Loads a sync oauth token in background, and passes it to callback.
130 virtual void LoadSupervisedUserToken(Profile* profile, 131 virtual void LoadSupervisedUserToken(Profile* profile,
131 const LoadTokenCallback& callback) = 0; 132 const LoadTokenCallback& callback) = 0;
132 133
133 // Configures sync service with oauth token. 134 // Configures sync service with oauth token.
134 virtual void ConfigureSyncWithToken(Profile* profile, 135 virtual void ConfigureSyncWithToken(Profile* profile,
135 const std::string& token) = 0; 136 const std::string& token) = 0;
136 137
137 private: 138 private:
138 DISALLOW_COPY_AND_ASSIGN(SupervisedUserManager); 139 DISALLOW_COPY_AND_ASSIGN(SupervisedUserManager);
139 }; 140 };
140 141
141 } // namespace chromeos 142 } // namespace chromeos
142 143
143 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SUPERVISED_USER_MANAGER_H_ 144 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_SUPERVISED_USER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698