1 // Copyright (c) 2013 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_SIGNIN_FAKE_AUTH_STATUS_PROVIDER_H_ 6 #define CHROME_BROWSER_SIGNIN_FAKE_AUTH_STATUS_PROVIDER_H_ 7 8 #include "chrome/browser/signin/signin_global_error.h" 9 10 // Helper class that reports auth errors to SigninGlobalError. Automatically 11 // registers and de-registers itself as an AuthStatusProvider in the 12 // constructor and destructor. 13 class FakeAuthStatusProvider : public SigninGlobalError::AuthStatusProvider { 14 public: 15 explicit FakeAuthStatusProvider(SigninGlobalError* error); 16 virtual ~FakeAuthStatusProvider(); 17 18 // Sets the auth error that this provider reports to SigninGlobalError. Also 19 // notifies SigninGlobalError via AuthStatusChanged(). 20 void SetAuthError(const GoogleServiceAuthError& error); 21 22 // AuthStatusProvider implementation. 23 virtual GoogleServiceAuthError GetAuthStatus() const OVERRIDE; 24 25 private: 26 SigninGlobalError* global_error_; 27 GoogleServiceAuthError auth_error_; 28 }; 29 30 #endif // CHROME_BROWSER_SIGNIN_FAKE_AUTH_STATUS_PROVIDER_H_ 31