ExtensionSyncService: listen for relevant changes instead of being explicitly called...
[chromium-blink-merge.git] / chrome / browser / chromeos / login / easy_unlock / easy_unlock_reauth.h
blob041dc8722776e087ed1b46941b6b61cfb6efd7c5
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_
8 #include "base/callback_forward.h"
9 #include "base/macros.h"
10 #include "base/memory/scoped_ptr.h"
12 namespace chromeos {
14 class UserContext;
16 // Responsible for locking the screen and reauthenticating the user so we can
17 // create new cryptohome keys for passwordless sign-in.
18 class EasyUnlockReauth {
19 public:
20 typedef base::Callback<void(const UserContext&)> UserContextCallback;
22 // Launches the reauth screen to get the user context. If the screen fails
23 // for some reason, then this function will return false.
24 static bool ReauthForUserContext(UserContextCallback callback);
26 DISALLOW_IMPLICIT_CONSTRUCTORS(EasyUnlockReauth);
29 } // namespace chromeos
31 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_