#ifndef COMPONENTS_SYNC_PREFERENCES_TESTING_PREF_SERVICE_SYNCABLE_H_
#define COMPONENTS_SYNC_PREFERENCES_TESTING_PREF_SERVICE_SYNCABLE_H_
#include "base/memory/scoped_refptr.h"
#include "components/prefs/testing_pref_service.h"
#include "components/sync_preferences/pref_service_syncable.h"
namespace user_prefs {
class PrefRegistrySyncable;
}
namespace sync_preferences {
class TestingPrefServiceSyncable
: public TestingPrefServiceBase<PrefServiceSyncable,
user_prefs::PrefRegistrySyncable> {
public:
TestingPrefServiceSyncable();
TestingPrefServiceSyncable(
scoped_refptr<TestingPrefStore> managed_prefs,
scoped_refptr<TestingPrefStore> supervised_user_prefs,
scoped_refptr<TestingPrefStore> extension_prefs,
scoped_refptr<TestingPrefStore> user_prefs,
scoped_refptr<TestingPrefStore> recommended_prefs,
scoped_refptr<user_prefs::PrefRegistrySyncable> pref_registry,
std::unique_ptr<PrefNotifierImpl> pref_notifier);
TestingPrefServiceSyncable(const TestingPrefServiceSyncable&) = delete;
TestingPrefServiceSyncable& operator=(const TestingPrefServiceSyncable&) =
delete;
~TestingPrefServiceSyncable() override;
user_prefs::PrefRegistrySyncable* registry();
};
}
template <>
TestingPrefServiceBase<sync_preferences::PrefServiceSyncable,
user_prefs::PrefRegistrySyncable>::
TestingPrefServiceBase(
scoped_refptr<TestingPrefStore> managed_prefs,
scoped_refptr<TestingPrefStore> supervised_user_prefs,
scoped_refptr<TestingPrefStore> extension_prefs,
scoped_refptr<TestingPrefStore> user_prefs,
scoped_refptr<TestingPrefStore> recommended_prefs,
scoped_refptr<user_prefs::PrefRegistrySyncable> pref_registry,
PrefNotifierImpl* pref_notifier);
#endif