blob: a94b353446a58d254ed29f938ac25e760ef8768c [file] [log] [blame]
// Copyright 2024 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_MODEL_AUTHENTICATION_SERVICE_DELEGATE_IMPL_H_
#define IOS_CHROME_BROWSER_SIGNIN_MODEL_AUTHENTICATION_SERVICE_DELEGATE_IMPL_H_
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ref.h"
#include "ios/chrome/browser/signin/model/authentication_service_delegate.h"
class BrowsingDataRemover;
class PrefService;
// Concrete implementation of AuthenticationServiceDelegate injected in the
// AuthenticationService by the factory.
class AuthenticationServiceDelegateImpl final
: public AuthenticationServiceDelegate {
public:
AuthenticationServiceDelegateImpl(BrowsingDataRemover* data_remover,
PrefService* pref_service);
// AuthenticationServiceDelegate implementation.
void ClearBrowsingData(base::OnceClosure closure) final;
void ClearBrowsingDataForSignedinPeriod(base::OnceClosure closure) final;
private:
raw_ref<BrowsingDataRemover> const data_remover_;
raw_ref<PrefService> const pref_service_;
};
#endif // IOS_CHROME_BROWSER_SIGNIN_MODEL_AUTHENTICATION_SERVICE_DELEGATE_IMPL_H_