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