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