OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ |
7 | 7 |
| 8 #include "base/callback_forward.h" |
8 #include "chrome/browser/chromeos/login/screens/base_screen.h" | 9 #include "chrome/browser/chromeos/login/screens/base_screen.h" |
9 #include "chrome/browser/chromeos/login/screens/encryption_migration_screen_view
.h" | 10 #include "chrome/browser/chromeos/login/screens/encryption_migration_screen_view
.h" |
10 | 11 |
11 namespace chromeos { | 12 namespace chromeos { |
12 | 13 |
13 class UserContext; | 14 class UserContext; |
14 | 15 |
15 class EncryptionMigrationScreen | 16 class EncryptionMigrationScreen |
16 : public BaseScreen, | 17 : public BaseScreen, |
17 public EncryptionMigrationScreenView::Delegate { | 18 public EncryptionMigrationScreenView::Delegate { |
18 public: | 19 public: |
| 20 using ContinueLoginCallback = base::OnceCallback<void(const UserContext&)>; |
| 21 |
19 EncryptionMigrationScreen(BaseScreenDelegate* base_screen_delegate, | 22 EncryptionMigrationScreen(BaseScreenDelegate* base_screen_delegate, |
20 EncryptionMigrationScreenView* view); | 23 EncryptionMigrationScreenView* view); |
21 ~EncryptionMigrationScreen() override; | 24 ~EncryptionMigrationScreen() override; |
22 | 25 |
23 // BaseScreen implementation: | 26 // BaseScreen implementation: |
24 void Show() override; | 27 void Show() override; |
25 void Hide() override; | 28 void Hide() override; |
26 | 29 |
27 // EncryptionMigrationScreenView::Delegate implementation: | 30 // EncryptionMigrationScreenView::Delegate implementation: |
28 void OnExit() override; | 31 void OnExit() override; |
29 void OnViewDestroyed(EncryptionMigrationScreenView* view) override; | 32 void OnViewDestroyed(EncryptionMigrationScreenView* view) override; |
30 | 33 |
31 // Sets the UserContext for a user whose cryptohome should be migrated. | 34 // Sets the UserContext for a user whose cryptohome should be migrated. |
32 void SetUserContext(const UserContext& user_context); | 35 void SetUserContext(const UserContext& user_context); |
33 | 36 |
| 37 // Sets a callback, which should be called when the user want to log in to the |
| 38 // session from the migration UI. |
| 39 void SetContinueLoginCallback(ContinueLoginCallback callback); |
| 40 |
34 private: | 41 private: |
35 EncryptionMigrationScreenView* view_; | 42 EncryptionMigrationScreenView* view_; |
36 | 43 |
37 DISALLOW_COPY_AND_ASSIGN(EncryptionMigrationScreen); | 44 DISALLOW_COPY_AND_ASSIGN(EncryptionMigrationScreen); |
38 }; | 45 }; |
39 | 46 |
40 } // namespace chromeos | 47 } // namespace chromeos |
41 | 48 |
42 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ | 49 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ENCRYPTION_MIGRATION_SCREEN_H_ |
OLD | NEW |