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