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