[Metrics] Make MetricsStateManager take a callback param to check if UMA is enabled.
[chromium-blink-merge.git] / chrome / browser / signin / profile_identity_provider.h
blobca67ecf967755d8dede6890493e9faf613535c55
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 CHROME_BROWSER_SIGNIN_PROFILE_IDENTITY_PROVIDER_H_
6 #define CHROME_BROWSER_SIGNIN_PROFILE_IDENTITY_PROVIDER_H_
8 #include "base/macros.h"
9 #include "components/signin/core/browser/signin_manager_base.h"
10 #include "google_apis/gaia/identity_provider.h"
12 class LoginUIService;
13 class ProfileOAuth2TokenService;
15 // An identity provider implementation that's backed by
16 // ProfileOAuth2TokenService and SigninManager.
17 class ProfileIdentityProvider : public IdentityProvider,
18 public SigninManagerBase::Observer {
19 public:
20 ProfileIdentityProvider(SigninManagerBase* signin_manager,
21 ProfileOAuth2TokenService* token_service,
22 LoginUIService* login_ui_service);
23 virtual ~ProfileIdentityProvider();
25 // IdentityProvider:
26 virtual std::string GetActiveUsername() OVERRIDE;
27 virtual std::string GetActiveAccountId() OVERRIDE;
28 virtual OAuth2TokenService* GetTokenService() OVERRIDE;
29 virtual bool RequestLogin() OVERRIDE;
31 // SigninManagerBase::Observer:
32 virtual void GoogleSigninSucceeded(const std::string& username,
33 const std::string& password) OVERRIDE;
34 virtual void GoogleSignedOut(const std::string& username) OVERRIDE;
36 private:
37 SigninManagerBase* const signin_manager_;
38 ProfileOAuth2TokenService* const token_service_;
39 LoginUIService* const login_ui_service_;
41 DISALLOW_COPY_AND_ASSIGN(ProfileIdentityProvider);
44 #endif // CHROME_BROWSER_SIGNIN_PROFILE_IDENTITY_PROVIDER_H_