blob: 124d27abdab015dee489ae615cf7a96e96c4be60 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_SIGNIN_AUTHENTICATION_SERVICE_DELEGATE_H_
#define IOS_CHROME_BROWSER_SIGNIN_AUTHENTICATION_SERVICE_DELEGATE_H_
#import "base/ios/block_types.h"
// Delegate for AuthenticationService.
class AuthenticationServiceDelegate {
public:
AuthenticationServiceDelegate() = default;
AuthenticationServiceDelegate(const AuthenticationServiceDelegate&) = delete;
AuthenticationServiceDelegate& operator=(
const AuthenticationServiceDelegate&) = delete;
virtual ~AuthenticationServiceDelegate() = default;
// Invoked by AuthenticationService after the user has signed out. All the
// local browsing data must be cleared out, then `completion` called.
virtual void ClearBrowsingData(ProceduralBlock completion) = 0;
private:
friend class AuthenticationServiceTest;
friend class FakeAuthenticationServiceDelegate;
int clear_browsing_data_counter_ = 0;
};
#endif // IOS_CHROME_BROWSER_SIGNIN_AUTHENTICATION_SERVICE_DELEGATE_H_