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. 13class 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 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