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 COMPONENTS_PERF_REGISTRY_TESTING_PREF_SERVICE_SYNCABLE_H_
6#define COMPONENTS_PERF_REGISTRY_TESTING_PREF_SERVICE_SYNCABLE_H_
7
8#include "base/basictypes.h"
9#include "base/prefs/testing_pref_service.h"
10
11namespace user_prefs {
12
13class PrefRegistrySyncable;
14
15// Test version of PrefServiceSyncable.
16class TestingPrefServiceSyncable
17    : public TestingPrefServiceBase<PrefService, PrefRegistrySyncable> {
18 public:
19  TestingPrefServiceSyncable();
20  TestingPrefServiceSyncable(TestingPrefStore* managed_prefs,
21                             TestingPrefStore* user_prefs,
22                             TestingPrefStore* recommended_prefs,
23                             PrefRegistrySyncable* pref_registry,
24                             PrefNotifierImpl* pref_notifier);
25  virtual ~TestingPrefServiceSyncable();
26
27  // This is provided as a convenience; on a production PrefService
28  // you would do all registrations before constructing it, passing it
29  // a PrefRegistry via its constructor (or via e.g. PrefServiceFactory).
30  PrefRegistrySyncable* registry();
31
32 private:
33  DISALLOW_COPY_AND_ASSIGN(TestingPrefServiceSyncable);
34};
35
36}  // namespace user_prefs
37
38#endif  // COMPONENTS_PERF_REGISTRY_TESTING_PREF_SERVICE_SYNCABLE_H_
39