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 10 class GoogleServiceAuthError; 11 12 namespace syncer { 13 14 // SyncAuthProvider is interface to access token related functions from sync 15 // engine. 16 class SyncAuthProvider { 17 public: 18 typedef base::Callback<void(const GoogleServiceAuthError& error, 19 const std::string& token)> RequestTokenCallback; 20 ~SyncAuthProvider()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