// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_PROXIMITY_AUTH_CRYPTAUTH_ACCESS_TOKEN_FETCHER_H #define COMPONENTS_PROXIMITY_AUTH_CRYPTAUTH_ACCESS_TOKEN_FETCHER_H #include #include "base/callback_forward.h" namespace proximity_auth { // Simple interface for fetching the OAuth2 access token that authorizes // CryptAuth API calls. Do not reuse this after calling FetchAccessToken(); // instead, create a new instance. class CryptAuthAccessTokenFetcher { public: virtual ~CryptAuthAccessTokenFetcher() {} // Fetches the access token asynchronously, invoking the callback upon // completion. If the fetch fails, the callback will be invoked with an empty // string. typedef base::Callback AccessTokenCallback; virtual void FetchAccessToken(const AccessTokenCallback& callback) = 0; }; } // namespace proximity_auth #endif // COMPONENTS_PROXIMITY_AUTH_CRYPTAUTH_ACCESS_TOKEN_FETCHER_H