Home | History | Annotate | Download | only in gaia
      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 
     10 class GoogleServiceAuthError;
     11 
     12 namespace base {
     13 class Time;
     14 }
     15 
     16 // An interface that defines the callbacks for consumers to which
     17 // OAuth2AccessTokenFetcher can return results.
     18 class 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