[NaCl SDK]: use standard __BEGIN_DECLS macros in sys/select.h
[chromium-blink-merge.git] / chromeos / login / auth / test_attempt_state.h
blob43e51ee3e59d66bc16683f4b3338f4a05f39a8e1
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 CHROMEOS_LOGIN_AUTH_TEST_ATTEMPT_STATE_H_
6 #define CHROMEOS_LOGIN_AUTH_TEST_ATTEMPT_STATE_H_
8 #include "base/compiler_specific.h"
9 #include "chromeos/chromeos_export.h"
10 #include "chromeos/login/auth/auth_attempt_state.h"
11 #include "chromeos/login/auth/auth_status_consumer.h"
12 #include "google_apis/gaia/gaia_auth_consumer.h"
14 namespace chromeos {
16 class UserContext;
18 class CHROMEOS_EXPORT TestAttemptState : public AuthAttemptState {
19 public:
20 TestAttemptState(const UserContext& credentials, const bool user_is_new);
22 virtual ~TestAttemptState();
24 // Act as though an online login attempt completed already.
25 void PresetOnlineLoginStatus(const AuthFailure& outcome);
27 // The next attempt will not allow HOSTED accounts to log in.
28 void DisableHosted();
30 // Act as though an cryptohome login attempt completed already.
31 void PresetCryptohomeStatus(bool cryptohome_outcome,
32 cryptohome::MountError cryptohome_code);
34 // To allow state to be queried on the main thread during tests.
35 virtual bool online_complete() OVERRIDE;
36 virtual const AuthFailure& online_outcome() OVERRIDE;
37 virtual bool is_first_time_user() OVERRIDE;
38 virtual GaiaAuthFetcher::HostedAccountsSetting hosted_policy() OVERRIDE;
39 virtual bool cryptohome_complete() OVERRIDE;
40 virtual bool cryptohome_outcome() OVERRIDE;
41 virtual cryptohome::MountError cryptohome_code() OVERRIDE;
43 private:
44 DISALLOW_COPY_AND_ASSIGN(TestAttemptState);
47 } // namespace chromeos
49 #endif // CHROMEOS_LOGIN_AUTH_TEST_ATTEMPT_STATE_H_