Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Side by Side Diff: chrome/browser/signin/signin_oauth_helper.h

Issue 219933002: Componentize AccountReconcilor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 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_SIGNIN_OAUTH_HELPER_H_
6 #define CHROME_BROWSER_SIGNIN_SIGNIN_OAUTH_HELPER_H_
7
8 #include <string>
9
10 #include "base/memory/scoped_ptr.h"
11 #include "google_apis/gaia/gaia_auth_consumer.h"
12 #include "google_apis/gaia/gaia_auth_fetcher.h"
13
14 // Retrieves the OAuth2 information from an already signed in cookie jar.
15 // The information retrieved is: username, refresh token.
16 class SigninOAuthHelper : public GaiaAuthConsumer {
17 public:
18 // Implemented by users of SigninOAuthHelper to know then helper is finished.
19 class Consumer {
20 public:
21 virtual ~Consumer() {}
22
23 // Called when all the information is retrieved successfully. |email|
24 // and |display_email| correspond to the gaia properties called "email"
25 // and "displayEmail" associated with the signed in account. |refresh_token|
26 // is the account's login-scoped oauth2 refresh token.
27 virtual void OnSigninOAuthInformationAvailable(
28 const std::string& email,
29 const std::string& display_email,
30 const std::string& refresh_token) {}
31
32 // Called when an error occurs while getting the information.
33 virtual void OnSigninOAuthInformationFailure(
34 const GoogleServiceAuthError& error) {}
35 };
36
37 explicit SigninOAuthHelper(net::URLRequestContextGetter* getter,
38 const std::string& session_index,
39 Consumer* consumer);
40 virtual ~SigninOAuthHelper();
41
42 private:
43 // Overridden from GaiaAuthConsumer.
44 virtual void OnClientOAuthSuccess(const ClientOAuthResult& result) OVERRIDE;
45 virtual void OnClientOAuthFailure(
46 const GoogleServiceAuthError& error) OVERRIDE;
47 virtual void OnClientLoginSuccess(const ClientLoginResult& result) OVERRIDE;
48 virtual void OnClientLoginFailure(
49 const GoogleServiceAuthError& error) OVERRIDE;
50 virtual void OnGetUserInfoSuccess(const UserInfoMap& data) OVERRIDE;
51 virtual void OnGetUserInfoFailure(
52 const GoogleServiceAuthError& error) OVERRIDE;
53
54 GaiaAuthFetcher gaia_auth_fetcher_;
55 std::string refresh_token_;
56 Consumer* consumer_;
57
58 DISALLOW_COPY_AND_ASSIGN(SigninOAuthHelper);
59 };
60
61 #endif // CHROME_BROWSER_SIGNIN_SIGNIN_OAUTH_HELPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698