OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_SUPERVISED_USER_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SUPERVISED_USER_MANAGER_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SUPERVISED_USER_MANAGER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_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/strings/string16.h" | 11 #include "base/strings/string16.h" |
| 12 #include "base/values.h" |
12 | 13 |
13 class PrefRegistrySimple; | 14 class PrefRegistrySimple; |
14 | 15 |
15 namespace chromeos { | 16 namespace chromeos { |
16 | 17 |
17 class User; | 18 class User; |
| 19 class SupervisedUserAuthentication; |
| 20 |
| 21 // Keys in dictionary with supervised password information. |
| 22 extern const char kSchemaVersion[]; |
| 23 extern const char kPasswordRevision[]; |
| 24 extern const char kSalt[]; |
| 25 extern const char kEncryptedPassword[]; |
| 26 extern const int kMinPasswordRevision; |
18 | 27 |
19 // Base class for SupervisedUserManagerImpl - provides a mechanism for getting | 28 // Base class for SupervisedUserManagerImpl - provides a mechanism for getting |
20 // and setting specific values for supervised users, as well as additional | 29 // and setting specific values for supervised users, as well as additional |
21 // lookup methods that make sense only for supervised users. | 30 // lookup methods that make sense only for supervised users. |
22 class SupervisedUserManager { | 31 class SupervisedUserManager { |
23 public: | 32 public: |
24 // Registers user manager preferences. | 33 // Registers user manager preferences. |
25 static void RegisterPrefs(PrefRegistrySimple* registry); | 34 static void RegisterPrefs(PrefRegistrySimple* registry); |
26 | 35 |
27 SupervisedUserManager() {} | 36 SupervisedUserManager() {} |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 83 |
75 // Create a record about starting supervised user creation transaction. | 84 // Create a record about starting supervised user creation transaction. |
76 virtual void StartCreationTransaction(const base::string16& display_name) = 0; | 85 virtual void StartCreationTransaction(const base::string16& display_name) = 0; |
77 | 86 |
78 // Add user id to supervised user creation transaction record. | 87 // Add user id to supervised user creation transaction record. |
79 virtual void SetCreationTransactionUserId(const std::string& user_id) = 0; | 88 virtual void SetCreationTransactionUserId(const std::string& user_id) = 0; |
80 | 89 |
81 // Remove locally managed user creation transaction record. | 90 // Remove locally managed user creation transaction record. |
82 virtual void CommitCreationTransaction() = 0; | 91 virtual void CommitCreationTransaction() = 0; |
83 | 92 |
| 93 // Return object that handles specifics of supervised user authentication. |
| 94 virtual SupervisedUserAuthentication* GetAuthentication() = 0; |
| 95 |
| 96 // Fill |result| with public password-specific data for |user_id| from Local |
| 97 // State. |
| 98 virtual void GetPasswordInformation(const std::string& user_id, |
| 99 base::DictionaryValue* result) = 0; |
| 100 |
| 101 // Stores public password-specific data from |password_info| for |user_id| in |
| 102 // Local State. |
| 103 virtual void SetPasswordInformation( |
| 104 const std::string& user_id, |
| 105 const base::DictionaryValue* password_info) = 0; |
| 106 |
84 private: | 107 private: |
85 DISALLOW_COPY_AND_ASSIGN(SupervisedUserManager); | 108 DISALLOW_COPY_AND_ASSIGN(SupervisedUserManager); |
86 }; | 109 }; |
87 | 110 |
88 } // namespace chromeos | 111 } // namespace chromeos |
89 | 112 |
90 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SUPERVISED_USER_MANAGER_H_ | 113 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SUPERVISED_USER_MANAGER_H_ |
OLD | NEW |