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. 4 5#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 6#define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 7 8#include "base/callback_forward.h" 9#include "base/macros.h" 10#include "base/memory/scoped_ptr.h" 11 12namespace chromeos { 13 14class UserContext; 15 16// Responsible for locking the screen and reauthenticating the user so we can 17// create new cryptohome keys for passwordless sign-in. 18class EasyUnlockReauth { 19 public: 20 typedef base::Callback<void(const UserContext&)> UserContextCallback; 21 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); 25 26 DISALLOW_IMPLICIT_CONSTRUCTORS(EasyUnlockReauth); 27}; 28 29} // namespace chromeos 30 31#endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_EASY_UNLOCK_REAUTH_H_ 32