blob: a55e43dce05660bf144b73b49c79bcac05c7d671 [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_ENGINE_SYNC_AUTH_PROVIDER_H_
#define COMPONENTS_SYNC_ENGINE_SYNC_AUTH_PROVIDER_H_
#include <string>
#include "base/functional/callback.h"
class GoogleServiceAuthError;
namespace syncer {
// SyncAuthProvider is interface to access token related functions from sync
// engine.
class SyncAuthProvider {
public:
using RequestTokenCallback =
base::OnceCallback<void(const GoogleServiceAuthError& error,
const std::string& token)>;
virtual ~SyncAuthProvider() = default;
// Request access token for sync. Callback will be called with error and
// access token. If error is anything other than NONE then token is invalid.
virtual void RequestAccessToken(RequestTokenCallback callback) = 0;
// Invalidate access token that was rejected by sync server.
virtual void InvalidateAccessToken(const std::string& token) = 0;
};
} // namespace syncer
#endif // COMPONENTS_SYNC_ENGINE_SYNC_AUTH_PROVIDER_H_