oauth2_access_token_consumer.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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 GOOGLE_APIS_GAIA_OAUTH2_ACCESS_TOKEN_CONSUMER_H_
6#define GOOGLE_APIS_GAIA_OAUTH2_ACCESS_TOKEN_CONSUMER_H_
7
8#include <string>
9
10class GoogleServiceAuthError;
11
12namespace base {
13class Time;
14}
15
16// An interface that defines the callbacks for consumers to which
17// OAuth2AccessTokenFetcher can return results.
18class OAuth2AccessTokenConsumer {
19 public:
20  // Success callback. |access_token| will contain a valid OAuth2 access token.
21  // |expiration_time| is the date until which the token can be used. This
22  // value has a built-in safety margin, so it can be used as-is.
23  virtual void OnGetTokenSuccess(const std::string& access_token,
24                                 const base::Time& expiration_time) {}
25  virtual void OnGetTokenFailure(const GoogleServiceAuthError& error) {}
26
27 protected:
28  virtual ~OAuth2AccessTokenConsumer() {}
29};
30
31#endif  // GOOGLE_APIS_GAIA_OAUTH2_ACCESS_TOKEN_CONSUMER_H_
32