1// Copyright 2014 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 SYNC_INTERNAL_API_PUBLIC_SYNC_AUTH_PROVIDER_H_ 6#define SYNC_INTERNAL_API_PUBLIC_SYNC_AUTH_PROVIDER_H_ 7 8#include "base/callback.h" 9 10class GoogleServiceAuthError; 11 12namespace syncer { 13 14// SyncAuthProvider is interface to access token related functions from sync 15// engine. 16class SyncAuthProvider { 17 public: 18 typedef base::Callback<void(const GoogleServiceAuthError& error, 19 const std::string& token)> RequestTokenCallback; 20 21 virtual ~SyncAuthProvider() {} 22 23 // Request access token for sync. Callback will be called with error and 24 // access token. If error is anything other than NONE then token is invalid. 25 virtual void RequestAccessToken(const RequestTokenCallback& callback) = 0; 26 27 // Invalidate access token that was rejected by sync server. 28 virtual void InvalidateAccessToken(const std::string& token) = 0; 29}; 30 31} // namespace syncer 32 33#endif // SYNC_INTERNAL_API_PUBLIC_SYNC_AUTH_PROVIDER_H_ 34