• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_
6 #define COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_
7 
8 #include "components/signin/core/browser/signin_error_controller.h"
9 
10 // Helper class that reports auth errors to SigninErrorController. Automatically
11 // registers and de-registers itself as an AuthStatusProvider in the
12 // constructor and destructor.
13 class FakeAuthStatusProvider
14     : public SigninErrorController::AuthStatusProvider {
15  public:
16   explicit FakeAuthStatusProvider(SigninErrorController* error);
17   virtual ~FakeAuthStatusProvider();
18 
19   // Sets the auth error that this provider reports to SigninErrorController.
20   // Also notifies SigninErrorController via AuthStatusChanged().
21   void SetAuthError(const std::string& account_id,
22                     const std::string& username,
23                     const GoogleServiceAuthError& error);
24 
set_error_without_status_change(const GoogleServiceAuthError & error)25   void set_error_without_status_change(const GoogleServiceAuthError& error) {
26     auth_error_ = error;
27   }
28 
29   // AuthStatusProvider implementation.
30   virtual std::string GetAccountId() const OVERRIDE;
31   virtual std::string GetUsername() const OVERRIDE;
32   virtual GoogleServiceAuthError GetAuthStatus() const OVERRIDE;
33 
34  private:
35   SigninErrorController* error_provider_;
36   std::string account_id_;
37   std::string username_;
38   GoogleServiceAuthError auth_error_;
39 };
40 
41 #endif  // COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_
42