OLD | NEW |
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_MULTI_PROFILE_USER_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USERS_MULTI_PROFILE_USER_CONTROLLER_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_MULTI_PROFILE_USER_CONTROLLER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USERS_MULTI_PROFILE_USER_CONTROLLER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
12 | 12 |
13 class PrefChangeRegistrar; | 13 class PrefChangeRegistrar; |
14 class PrefRegistrySimple; | 14 class PrefRegistrySimple; |
15 class PrefService; | 15 class PrefService; |
16 class Profile; | 16 class Profile; |
17 | 17 |
18 namespace user_prefs { | 18 namespace user_prefs { |
19 class PrefRegistrySyncable; | 19 class PrefRegistrySyncable; |
20 } | 20 } |
21 | 21 |
22 namespace chromeos { | 22 namespace chromeos { |
23 | 23 |
24 class MultiProfileUserControllerDelegate; | 24 class MultiProfileUserControllerDelegate; |
25 class UserManager; | |
26 | 25 |
27 // MultiProfileUserController decides whether a user is allowed to be in a | 26 // MultiProfileUserController decides whether a user is allowed to be in a |
28 // multi-profiles session. It caches the multi-profile user behavior pref backed | 27 // multi-profiles session. It caches the multi-profile user behavior pref backed |
29 // by user policy into local state so that the value is available before the | 28 // by user policy into local state so that the value is available before the |
30 // user login and checks if the meaning of the value is respected. | 29 // user login and checks if the meaning of the value is respected. |
31 class MultiProfileUserController { | 30 class MultiProfileUserController { |
32 public: | 31 public: |
33 // Second return value of IsUserAllowedInSession(). | 32 // Second return value of IsUserAllowedInSession(). |
34 enum UserAllowedInSessionReason { | 33 enum UserAllowedInSessionReason { |
35 // User is allowed in multi-profile session. | 34 // User is allowed in multi-profile session. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 MultiProfileUserControllerDelegate* delegate_; // Not owned. | 102 MultiProfileUserControllerDelegate* delegate_; // Not owned. |
104 PrefService* local_state_; // Not owned. | 103 PrefService* local_state_; // Not owned. |
105 ScopedVector<PrefChangeRegistrar> pref_watchers_; | 104 ScopedVector<PrefChangeRegistrar> pref_watchers_; |
106 | 105 |
107 DISALLOW_COPY_AND_ASSIGN(MultiProfileUserController); | 106 DISALLOW_COPY_AND_ASSIGN(MultiProfileUserController); |
108 }; | 107 }; |
109 | 108 |
110 } // namespace chromeos | 109 } // namespace chromeos |
111 | 110 |
112 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_MULTI_PROFILE_USER_CONTROLLER_H_ | 111 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USERS_MULTI_PROFILE_USER_CONTROLLER_H_ |
OLD | NEW |